Advent of Code 2024 - Clojure

2024년을 마무리하는 12월이 왔을 때, 왠지 올해는 advent of code를 다시 풀고 싶어졌다. 2024년에는 ruby나 elixir 등을 새롭게 사용하게 되면서 새로운 언어를 또 익히고 싶다는 생각은 없었고, 내가 좋아하는 언어지만 사용한지 오래된 언어인 Clojure로 문제를 풀기로 했다. 같은 언어로 푸는 주변 동료들은 없지만, Clojurians Slack과 Reddit, 그리고 회사 내에 aoc를 푸는 다른 동료들이 있어서 재밌지 않을까 하고 기대하고 시작했다.

결과적으로는 총 50 stars 중에 32 stars를 받았고, 총 18일의 문제를 풀었고 그 중 14개는 별 2개, 4개는 별 1개를 받았다. 초기 일주일은 금방 풀 수 있는 문제들이어서 빠르게 풀었지만, 2주차부터는 시간이 조금씩 더 소요되기 시작했다. 하지만 느낌적으로 마지막까지 난이도가 계속 높아지는 것까지는 아니었던 것 같다.

내 코드의 리뷰를 받을 수 있는 상황이 아니었기 때문에 Clojurians에서 공유한 다른 사람의 코드를 보았는데 같은 문제를 이렇게 다양하게 풀 수 있구나 라는 것을 또 새삼 느꼈다. 특히, Clojure로 아름답게 푼 풀이들을 볼 때 아주 신기했다. 코드란게 명확하게 더 좋은 코드나 나쁜 코드가 있는 것은 아니지만, 그래도 다른 사람들이 짠 코드를 보는 것은 흥미로운 일이다.

그리고 사내에서는 C++, Ruby, Typescript 등 다양한 언어로 동료들이 각기 다른 소감을 공유해서 더 동기부여가 많이 되었다. 중간에 2주정도 하고 포기하고 싶긴 했는데 어쨌든 마지막 12월 25일까지 참가했고 정말로 잘 했던 선택인 것 같다.

이번에 뭔가 학습이나 성장을 목표로 시작했던 것은 아니었지만 transduce나 memoize도 사용해보고, graph 문제도 풀면서 결과적으로 많이 배운 것 같다.

올해 푼 코드들은 Github에 올려뒀다. 2025년에도 최소 2주 정도는 참여하는 것을 목표로 하고, 그 때는 어떤 언어로 풀어볼지 고민해봐야겠다. 2024년도 끝!

Discuss this post here.

Published: 2025-01-11

Tagged: Clojure Adventofcode

Archive