공통된 시작 단어(prefix)를 반환

길현민·2022년 7월 10일
0

JS코딩테스트

목록 보기
4/7

문제
strs은 단어가 담긴 배열입니다.
공통된 시작 단어(prefix)를 반환해주세요.

예를 들어
strs = ['start', 'stair', 'step']
return은 'st'

strs = ['start', 'wework', 'today']
return은 ''

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;

}

/* 또는
function getPrefix(strs) {
if (strs.length === 0) return '';

let strArr = strs[0].split('');
let idx = 0;
let stop = false;

for (let i = 0; i < strArr.length; i++) {
let char = strArr[i];

  for (let j = 0; j < strs.length; j++) {
      let thisStrArr = strs[j].split('');
      
      if (char !== thisStrArr[i]) {
          idx = i-1;
          stop = true;
          break;
      }
  }     
  
  if (stop) break;

}

if (!stop) {
idx = strArr.length - 1;
}

return strArr.slice(0, idx+1).join('');
}
*/

🐔참고문헌

·블로그

https://velog.io/@mm0467/CodeKata05-%EA%B3%B5%ED%86%B5%EB%90%9C-%EC%8B%9C%EC%9E%91-%EB%8B%A8%EC%96%B4prefix%EB%A5%BC-%EB%B0%98%ED%99%98%ED%95%B4%EC%A3%BC%EC%84%B8%EC%9A%94

profile
맛집탐방러

0개의 댓글