[codekata]Week1_Day5

문제

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

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

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


풀이

  1. 리턴할 prefix 변수를 선언한 후 빈 문자열 저장
  2. 인자로 받은 배열의 원소 중 첫 번째 단어를 한 문자씩 순회하면서 key 변수(비교 기준)에 저장(-> 외부 for 문)
  3. 나머지 단어들의 문자를 순회하면서 key와 비교(-> 내부 for 문)
  4. key와 비교하는 단어가 다른 경우 그대로 return해서 순회 종료
  5. 같은 경우 prefix 문자열에 key 문자 추가
  6. prefix 리턴
const getPrefix = strs => {
  let prefix = "";
  if(strs.length === 0) return prefix;
  for (let i = 0; i < strs[0].length; i++){
    const key = strs[0][i]
    for (let j = 1; j < strs.length; j++){
      if (strs[j][i] !== key) return prefix;
    }
    prefix = prefix + key;
  }
    return prefix;
}