CodeKata 05

song hyun·2021년 8월 22일
0

알고리즘

목록 보기
5/8
post-thumbnail

문제

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

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

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

답안

모델 답안

// 👀 : 알고리즘 문제 답안. 
// 🧠 : while보다 더 나은 방법이 찾은지 봐야겠다.
const getPrefix1 = strs => {
  let firstText = strs[0]; // start
  strs.forEach((element, index)=>{
    while(strs[index].indexOf(firstText)!== 0){
      firstText = firstText.substring(0, firstText.length-1);
    }
  });
  return firstText;
}

console.log(getPrefix1(['start', 'stair', 'stap'])); // sta
console.log(getPrefix1(['start', 'wework', 'today'])) // ''

다른 답안

  const getPrefix= (strs) => {
    let prefix = '';
    strs[0].split('').every((element) => {
      const isLetterPrefix =
        strs.filter((word) => word.indexOf(element) !== -1).length ===
        strs.length;

      if (isLetterPrefix) {
        prefix += element;
        return true;
      }
    });
    return prefix;
  };

console.log(getPrefix(['start', 'stair', 'stap'])); // sta
console.log(getPrefix(['start', 'wework', 'today'])); // ''
profile
Front-end Developer 🌱

0개의 댓글