Longest Common Prefix Javascript

cptkuk91·2023년 3월 22일
1

Algorithm

목록 보기
156/161

문제

Write a function to find the longest common prefix string amongst an array of strings.
If there is no common prefix, return an empty string "".

예시

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

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

코드

/**
 * @param {string[]} strs
 * @return {string}
 */
var longestCommonPrefix = function(strs) {
      
    let prefix = strs[0];

    for(let i = 0; i < strs.length; i++){
        while(strs[i].indexOf(prefix) !== 0){
            prefix = prefix.substring(0, prefix.length - 1);

            if(prefix === ""){
                return "";
            }
        }
    }
    return prefix;
};

풀이

우선 단어를 비교하기 위한 기준으로 첫 단어를 선택했다. 따라서 prefix = strs[0]로 설정했다.
반복문을 활용해 strs안에 들어있는 모든 단어와 비교를 한다. 중복된 철자를 찾을 때 까지 while문을 활용한다. 만약에 중복된 단어가 없다면 고정값 prefix 마지막 단어를 한 글자씩 빼준다. (substring) 활용, while문이 끝났음에도 공통된 철자가 없다면 "" 반환하고, 공통된 철자가 있다면, prefix에 담겨 있는 값이 return 된다.

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글