Advent of Code: 상태 변환 파서를 이용한 문제 해결
2025-04-09
Advent of Code의 최신 퍼즐은 합계에 대한 mul 명령어의 기여를 활성화하거나 비활성화하는 do() 및 don't() 명령어를 해석하는 것을 포함합니다. 정규 표현식은 상태가 없는 정규 언어를 인식하기 때문에 이러한 상태를 처리하는 데 어려움을 겪습니다. 저자는 파서 기반 솔루션을 사용하여 상태 변환기로 승격시켜 상태를 가진 파서를 생성했습니다. 이 파서는 do(), don't(), mul 명령어를 효율적으로 처리하며 약 1MB의 입력을 0.12초 만에 처리합니다. 이는 정규 표현식 기반 접근 방식보다 훨씬 뛰어납니다.