LeetCode - 4 : longest common prefix

Junho Yun·2024년 3월 20일
post-thumbnail

Q

A

처음에는 접근을 이상하게 했습니다...비교를 해서...뭐 그때의 인덱스를 받아서...그걸 리턴해주면 되지 않을까 했는데 이건 인덱스로 하다보니까 엣지 케이스도 만들어지고 좋은 방법은 아니였습니다. (풀지도 못함) 그래서 비교했을때 똑같으면 그걸 배열에 push 해주고, 마지막에 join("")으로 빼주기로 변경 후... 바로 풀었습니다.

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

    if (strs.length === 1) {
        return strs[0]
    }

    const splitStrs = strs.map((str) => {
        return str.split("")
    })

    for (let i = 0; i < splitStrs[0].length; i++) {
        for (let j = 0; j < splitStrs.length; j++) {
            before.push(splitStrs[j][i])
            if (j > 0 && before[j - 1] !== before[j]) {
                return result.join("")
            }
            if (j === splitStrs.length - 1) {
                result.push(splitStrs[j][i])
            }
        }
        before = [];
    }

    return strs[0];
};
profile
의미 없는 코드는 없다.

0개의 댓글