코드노트

자바스크립트 접두사 구하기 문제풀이 본문

Code note/자바스크립트 알고리즘 문제풀이

자바스크립트 접두사 구하기 문제풀이

코드노트 2022. 9. 8. 22:19

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값을 비교하면서 같은 문자인지 비교해주었다.

- 그렇게 같은 문자들이면 결과값에 추가를 해주고 다른 문자가 있으면 즉시 종료되고 답을 반환한다.