LeetCode - 14. Longest Common Prefix

henu·2023년 8월 17일
0

LeetCode

목록 보기
4/186
post-thumbnail

Problem

문자열로 이루어진 배열에서 가장 긴 공통의 접두어를 찾아내라.
공통의 접두어가 없을 경우 빈 문자열을 리턴하라.

Example 1

Input: strs = ["flower","flow","flight"]
Output: "fl"

Example 2

Input: strs = ["dog","racecar","car"]
Output: ""
Explanation: There is no common prefix among the input strings.

Solution

var longestCommonPrefix = function(strs) {
    let output = '';

    for(let i=0; i<strs[0].length; i++) {
        if(strs.every(e => e[i] === strs[0][i])) {
            output += strs[0][i];
        } else {
            break;
        }
    }

    return output;
};

Explanation

공통의 접두어는 strs의 요소 중 하나라도 해당되지 않을 경우 공통의 접두어가 아니다.
따라서 strs의 요소 중 하나를 선택해서 그것을 기준으로 비교하면 된다.
첫 번째 요소를 기준으로 잡아서 for문으로 탐색해봤다.
every메소드를 사용해서 첫 번째 요소의 글자 하나하나 순서대로 다른 요소들과 비교해서 true면 공통의 접두어에 추가하고 false일 경우 for문을 종료하도록 했다.

0개의 댓글