> 웹 프론트엔드 > JS 튜토리얼 > Codewars - 사라진 편지를 찾아보세요

Codewars - 사라진 편지를 찾아보세요

Linda Hamilton
풀어 주다: 2025-01-07 23:59:44
원래의
961명이 탐색했습니다.

안녕하세요.

Codewars - Find the missing letter

이번 시리즈에서는 Codewars의 도전 과제와 저의 사고 과정을 포스팅하고 있습니다. 가능할 때마다 JS와 Node 18을 사용하고 있습니다. 명확성을 위해 공정하게 사용하고 있습니다.

이 다음 연습에서는 문자의 오름차순 배열이 있지만 중간 어딘가에 문자 하나가 없습니다.
['a','b','c','d','f']
['O','Q','R','S']

먼저 문자는 유니코드에서 해당 숫자 값을 갖는다는 것을 알아야 합니다. 따라서 문자를 숫자로 또는 그 반대로 변환할 수 있는 기능이 필요합니다.

몇 가지 JS 함수를 사용해 어떤 기능을 하는지 살펴보겠습니다.

function findMissingLetter(array)
{
  return [array[3].charCodeAt(),array[4].charCodeAt()];
}

// the array is ['a','b','c','d','f']
// it expects 'e'
// this function returns [ 100, 102 ]
로그인 후 복사

퍼즐의 첫 번째 중요한 조각이 생겼습니다. 이제 우리는 이를 중심으로 솔루션을 만들어야 합니다. 그렇게 하려면 무언가를 사용하여 배열을 순회하면서 이상 현상을 찾을 수 있습니다.

let counter = 0;
  while (array[counter].charCodeAt() + 1 == array[counter + 1].charCodeAt()
        && counter < array.length)
  {
    counter++;
  }
로그인 후 복사

그런 다음 실제 누락된 편지를 찾아야 합니다.

let letter = String.fromCharCode(array[counter].charCodeAt() + 1)
로그인 후 복사

모든 것을 조립하세요:

function findMissingLetter(array)
{
  let counter = 0;
  while (array[counter].charCodeAt() + 1 == array[counter + 1].charCodeAt()
        && counter < array.length)
  {
    counter++;
  }
  let letter = String.fromCharCode(array[counter].charCodeAt() + 1)
  return letter;
}
로그인 후 복사

놀랍게도 가독성이 좋습니다. 내 생각엔 괜찮을 것 같아. 최적화할 수 있는 방법이 있어야 하는데 아직은 모르겠네요.

조심하세요. 물을 마셔요???.

이전

위 내용은 Codewars - 사라진 편지를 찾아보세요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿