[ 알고리즘] Longest Common Prefix

Baoro·2022년 3월 13일
0

1. 문제 내용

배열 안에 요소들 중에 가장 긴 공통 접두사 문자열을 찾는 함수를 작성하자.
공통 접두사가 없으면 빈 문자열을 반환하자.

2. 알고리즘 구상

(1) 일단 배열이 비어있는 경우 빈 문자열을 반환하도록 하였다.

if (strs.length === 0) return "";

(2) 그 다음으로 기준의 되는 첫번째 배열(strs[0])의 element를 다른 배열들의 element들과 하나씩 비교하여 다르면 result를 반환하고, 같으면 그 값을 result에 더한다.
모든 배열의 element를 비교하면 result를 반환한다.

for (let i = 0; i < strs[0].length; i++) {
        for (j = 1; j < strs.length; j++) {
            if (strs[0][i] != strs[j][i]) {
                return result;
            }
        }
        result += strs[0][i];
    }
    return result

3. 완성 코드

var longestCommonPrefix = function(strs) {
    if (strs.length === 0) return "";
    
    let result = "";
    for (let i = 0; i < strs[0].length; i++) {
        for (j = 1; j < strs.length; j++) {
            if (strs[0][i] != strs[j][i]) {
                return result;
            }
        }
        result += strs[0][i];
    }
    return result;
};

4. 어려웠던 점

profile
꾸준히.... 깔끔하게.... 끝까지....

0개의 댓글