코드의 출현 - 2일차

올해 Advent of code에 참여하고 있습니까?

코드의 출현이 무엇인지 모른다면 매일의 도전을 발견하게 될 웹사이트입니다(매일 더 어려워집니다). 정말 재미있는 이벤트이니 꼭 참여해보세요!

저는 JavaScript 또는 TypeScript를 사용하여 연습 문제를 해결하려고 노력하고 매일 내 솔루션을 공유할 것입니다(아무도 속일 수 없도록 하루 지연됩니다!). 두 번째 부분에 대한 솔루션만 공유합니다.

2일차에 대한 내 솔루션은 다음과 같습니다.

// I completed this one directly in the console of the website
$('body > pre')
  // get text line by line
  .textContent.split(/\r?\n/)
  .filter(Boolean)
  // differentiate the definition from the string
  .map((definition) => definition.split(': '))
  .filter(([definition, password]) => {
    const [minMax, letter] = definition.split(' ')
    const [min, max] = minMax.split('-').map((x) => parseInt(x) - 1)
    return (
      (password[min] === letter && password[max] !== letter) ||
      (password[max] === letter && password[min] !== letter)
    )
  })
  .length


코드가 예쁘지는 않지만 트릭을 수행합니다.
댓글에 자유롭게 공유해주세요!


Markus SpiskeUnsplash의 사진

좋은 웹페이지 즐겨찾기