안녕하세요.
이번 시리즈에서는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!