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 된다.