본문 바로가기
🏋️‍♀️ Code Practice

[JS] 중복되는 시작 단어(Prefix) 찾기

by 슬용이 2022. 5. 14.

문제

💡 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

 

 

 

댓글