Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 프론트엔드
- Next
- 제로베이스
- NPM
- 프로그래머스
- 자바스크립트
- 자바스크립트 문제
- 자바스크립트 연결리스트
- 타입스크립트
- 자바스크립트코딩테스트
- lodash
- react
- stack문제
- til
- next13
- 자바스크립트 알고리즘 문제
- Next.js13
- 자바스크립트 문제 풀이
- JavaScript
- CSS
- 알고리즘문제풀이
- HTML
- 리액트
- 자바스크립트 알고리즘
- JS
- 리액트쿼리
- 자바스크립트 문제풀이
- leetcode
- Baekjoon
- leetcode문제풀이
Archives
- Today
- Total
코드노트
자바스크립트 접두사 구하기 문제풀이 본문
Longest Common Prefix
가장 긴 공통 접두사 구하기
문제설명
- 문제만 보면 어려운건 없었다.
처음에는 문자를 split으로 나누어서 비교를 해야겠다고 생각했었다.
- 결국 index를 활용하는 방법으로 문제를 풀었다.
let strs = ["flower", "flow", "flight"];
var longestCommonPrefix = function (strs) {
let result = "";
if (strs === null || strs.length === 0) {
// input이 없거나 길이가 0이면 종료
return result;
}
for (let i = 0; i < strs[0].length; i++) {
const str = strs[0][i];
for (let j = 1; j < strs.length; j++) {
if (strs[j][i] !== str) {
return result;
}
}
result += str;
}
return result;
};
console.log(longestCommonPrefix(strs)); // fl
str[1][0] = f / true
str[2][0] = f / true
str[1][1] = l / true
str[2][1] = l / true
------------------------
str[1][2] = o / true
str[2][2] = i / false
- 처음 if 조건은 다른 문제 풀이들을 보다가 null이거나 length가 0일 때 종료되도록 넣어주길래 같이 넣어주었다.
- 첫 문자를 i로 잡고 나머지 문자들의 같은 index값을 비교하면서 같은 문자인지 비교해주었다.
- 그렇게 같은 문자들이면 결과값에 추가를 해주고 다른 문자가 있으면 즉시 종료되고 답을 반환한다.
'Code note > 자바스크립트 알고리즘 문제풀이' 카테고리의 다른 글
leetcode 자바스크립트 문제 풀이 Valid Parentheses 유효한 괄호 (0) | 2022.09.09 |
---|---|
자바스크립트 연결리스트 열차연결 문제풀이 (0) | 2022.09.09 |
자바스크립트 로마숫자 코딩테스트 문제 풀이 Roman to Integer (0) | 2022.09.08 |
자바스크립트 체육복 문제 풀이, 프로그래머스 (0) | 2022.09.06 |
행렬의 덧셈 문제 풀이 2차원 배열 (0) | 2022.09.03 |