코드카타 05: getPrefix
strs
은 단어가 담긴 배열입니다. 공통된 시작 단어(prefix)를 반환해주세요.예를 들어
strs = ['start', 'stair', 'step']
return은'st'
strs = ['start', 'wework', 'today']
return은""
내가 푼 답
const getPrefix = strs => {
if (!strs.length) {
return ""
}
let prefix = "";
const checkStartswith = (index) => {
return strs.every((item) => item.startsWith(prefix + strs[0][index]))
}
for(let i = 0; i < strs[0].length; i++) {
if(checkStartswith(i)) {
prefix += strs[0][i]
} else {
return prefix;
}
}
return prefix;
}
배열의 모든 요소를 하나씩 돌며 조건을 심사해야 하기에 every
메서드를 사용했고, startsWith
메서드는 구글링을 통해 알아냈다. 깃허브에는 if절의 조건으로 checkStartswith
함수의 return 문을 그대로 넣었는데, 블로그에 올리다가 조건이 너무 긴 것 같아 따로 체크하는 함수로 따로 빼보았다.
배열의 모든 요소가 지금까지의 prefix에 strs[0]
의 다음 글자를 더한 글자로 시작한다면 prefix에 그 글자를 더하고, 시작하지 않는다면 현재까지 모은 prefix를 반환하는 로직이다.
Author And Source
이 문제에 관하여(코드카타 05: getPrefix), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@garudanish/코드카타-05-getPrefix저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)