[CodeKata_05] 공통된 시작 단어(prefix)를 반환해주세요.

김찬영·2020년 12월 14일
0

코드카타

목록 보기
5/11
post-thumbnail

문제

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('');
}
*/
profile
Front-end Developer

0개의 댓글