문제

알파벳의 정해진 범위에서 순서대로 나열된 글자 중에 빠진 글자를 찾아야한다.

예시

  • "abce" 이면 "d"가 없기 때문에 "d"를 반환한다.
  • "abcdefghjklmno"는 "i" 를 반환한다.
  • "stvwx"은 "u"를 반환한다.
  • "bcdf"는 "e"를 반환한다.
  • 빠진 글자가 없다면 "undefined"를 반환한다.
function fearNotLetter(str) {
  let alphabet = "abcdefghijklmnopqrstuvwxyz";
  if (str.length === alphabet.length) {
    return;
  }
  let prefixIndex = alphabet.indexOf(str[0]);
  let suffixIndex = alphabet.indexOf(str[str.length-1]);
  let alphabetSlice = alphabet.slice(prefixIndex, suffixIndex);
  for (let i = 0; i < alphabetSlice.length; i++) {
    if (str[i] !== alphabetSlice[i]) {
      return alphabetSlice[i];
    }
  }
}

fearNotLetter("abce");

매개변수는 범위가 랜덤으로 들어온다. 매개변수의 첫 글자와 마지막 글자가 변수 alphabet의 어떤 index를 가지고 있는지 찾는다. 찾은 인덱스를 가지고 매개변수와 같은 범위를 갖는 글자 범위를 복사한다. for문을 이용해서 stralphabetSlice를 비교해서 같은 글자가 아니면 alphabetSlicei 번째를 반환한다.