반응형
Q. strs은 단어가 담긴 배열입니다.
공통된 시작 단어(prefix)를 반환해주세요.
예를 들어
strs = ['start', 'stair', 'step']
return은 'st'
strs = ['start', 'wework', 'today']
return은 ''
A.
function getPrefix(strs) {
if (strs.length === 0) return '';
let prefix = strs[0];
for (let i = 1; i < strs.length; i++) {
while (strs[i].indexOf(prefix) !== 0) {
prefix = prefix.substring(0, prefix.length - 1);
}
}
return prefix;
}
문제 해결 과정
우선 배열을 스트링으로 변환하고, 각각 단어를 for문으로 돌려서 비교해야 하나?? 했습니다
물론 return을 반환할 때 단어의 순서를 지켜서 반환해야 하기 때문에 단어를 각각 알파벳으로 나눠서 비교해야 하는 건 아닌 거 같은데,,,, 라고 생각했지만 우선 시도해봤습니다
split(",")을 이용해서 우선 나눠보려고 이리저리 시도하다가 한시간이 지났습니다
TIL
str.substring(indexStart[, indexEnd])
반환값 : 기존문자열의 부분 문자열을 반환합니다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/substring
답을 찾아봐도 이해하기 어려운 경우가 많고 아직은 함수도 제대로 이용하지 못하는 거 같아서 어려움이 많네요
프로그래머스에서 알고리즘 공부를 따로 해야겠다고 생각합니다,,,
Resources
반응형