문제
💡 strs은 단어가 담긴 배열입니다. 공통된 시작 단어(prefix)를 반환해주세요.
예를 들어 strs = ['start', 'stair', 'step'] return은 'st'
strs = ['start', 'wework', 'today'] return은 ' ';
들어가기 전에
처음에 문제만 보고 쉽다고 생각했었지만, 제한 시간 1시간 안에 풀지 못했던 문제이다. 이후에 다른 사람의 풀이를 확인하고 나서야 접근 방법 자체는 근접했지만 왜 풀지 못했는지 알 수 있었다. 복잡한 풀이일수록 중간 중간에 console.log를 통해 확인하는 습관을 가지고, 풀리지 않는다면 사고의 전환을 꼭 해보자!
풀이
const getPrefix = strs => {
for (let i=1; i<strs.length; i++){
for (let j=0; j<strs[0].length; j++){
if (strs[0][j] !== strs[i][j]){
strs[0] = strs[0].substring(0, j);
}
}
}
if(strs.length === 0){
return '';
}
return strs[0];
}
module.exports = { getPrefix };
결과
node v12.16.1
✅ getPrefix6
✅ getPrefix5
✅ getPrefix4
✅ getPrefix3
✅ getPrefix2
✅ getPrefix1
All tests have passed 6/6
'🏋️♀️ Code Practice' 카테고리의 다른 글
[JS] key값으로 value 값 찾아서 반환하기 (0) | 2022.05.22 |
---|---|
[JS] 문자 뒤집기 (0) | 2022.05.14 |
[JS] 특정 수를 더한 배열 출력하기 (0) | 2022.05.10 |
댓글