서론
2019년 5월 25일에 “BOJ 1000솔브!”라는 글(link)을 블로그에 올렸던 적이 있습니다. 그로부터 정확히 6년 7개월이 지난 오늘(2025년 12월 25일), solved.ac 기준 티어가 다이아몬드인 문제만 1000문제를 풀게 되었습니다. 감회가 참 새롭습니다. 고등학생 때 블로그에 올린 여러 글을 읽으면서 ‘그땐 그랬지…’ 같은 생각이 들기도 하고, “이번에는 꼭 KOI 본선에 나가야지” 라며 열심히 공부하던 2019년 5월의 마음가짐도 어렴풋이나마 떠오릅니다.

79개월 전 글 다시 읽어보기
2018년 선린 정보올림피아드반 OT 때 한 선배가 “아무리 똑똑한 사람이더라도 1000문제도 안 푼 사람은 거의 없으니 1000문제 풀고 복권 긁어봐라. 혹시 당첨일지 어떻게 아느냐?”와 같은 이야기를 했었습니다. 지금 와서 돌아보면 다행히 저도 당첨이었던 것 같습니다.
사실 저는 그 슬라이드에서 다룬 대상인 “재능충”과는 거리가 멀었습니다. 재능을 구성하는 요소를 어떻게 정의하는지에 따라 다르겠지만, 최소한 저와 비슷한 위치에서 경쟁하던 사람들만큼 머리가 뛰어나지는 않았습니다. BOJ에서 2000문제 정도 풀었을 때부터 “저 사람이 나 만큼 문제를 풀면 나보다 잘하겠지?” 라는 상상(고민?)을 자주 했었습니다. 확실히 아니라고 확신할 수 있는 사람이 지금까지 한 명도 없었지만, 대회에서는 결국 꽤 좋은 성적을 거두었던 것을 보면, 머리 외에도 공부량이 꽤 중요하게 작용하지 않았나 싶습니다. 그래도 남들보다 비교적 일찍 시작했고, 고등학생 때 알고리즘을 공부하기에 꽤 좋은 환경이었으며, 매번 운과 타이밍이 따라준 덕분에 여기까지 올 수 있었습니다.
그때는 1000번째 문제에 큰 의미를 부여하면서 그 당시에 여러모로 가장 유명(?)했던 문제인 하이퍼 토마토(link)를 풀었습니다. 지금 생각해 보면 구데기컵이 딱 2회까지만 열린 시점에 1000번째 문제를 풀었다는 게 참 다행인 것 같습니다. 2020년 이후에 구데기컵에 나온 문제들을 생각해 보면…
하이퍼 토마토를 처음 풀 때 작성한 코드(link)와 최근에 작성한 코드(link)를 비교해 보면 여러모로 많이 발전한 게 느껴집니다. 별다른 알고리즘이 필요 없는 구현 문제라고 하더라도, 있는 그대로 구현하지 않고 나름의 “설계”를 할 수 있게 되었습니다. 6년 전에 쓰던 fastio 코드는 어디에서 가져온 것이었을까요? 지금은 fastio 조차도 더 간결한 구현을 사용하고 있습니다.
그때는 1페이지 진입이 저에게 있어서 중요한 마일스톤 중 하나였고, 여름학교 입소식이 있었던 2019년 7월 29일 새벽에 101등과 1문제 차이로 100등을 달성했던 것으로 기억합니다. 2019년 6월에 solved.ac 가 만들어진 이후로 1페이지 커트라인이 그때와는 비교가 안 될 정도로 많이 올라서 지금은 4160문제를 풀어야 하는데, 이것도 타이밍이 참 좋았던 것 같습니다.
이번에도 1000번째 다이아몬드 문제에 의미를 부여하기 위해 어떤 문제를 풀지 고민했는데, 아무래도 올해 서울 리저널에 출제한 Fair Problemset(link)보다 더 적합한 문제를 찾기는 어려울 것 같아서 몇 달 전에 작성해 놓은 코드를 그대로 제출했습니다. 고등학생 때 가장 많은 시간을 들여서 준비했던 KOI, NYPC, 계절학교에 고등학교 졸업 후에도 계속 관여하고 있는 것처럼, 대학생 때 가장 열심히 준비했던 ICPC에도 졸업 후에 어떻게든 기여하고 싶다는 생각을 꽤 오래 했었습니다. 운이 좋게도 졸업 직후에 연이 닿아서 문제를 출제하게 되었는데, 앞으로도 꾸준히 문제를 낼 수 있으면 좋겠습니다.
BOJ 1000솔브 글 외에 고등학생 때 작성한 다른 글도 조금 읽어보았습니다. 글에 적혀있지는 않지만, 그때 어떤 마음가짐으로 어떻게 공부했는지가 새록새록 떠오릅니다. 사실 고등학생 때는 제가 열심히 공부했다고 생각하지 않았습니다. 아무리 특성화고등학교를 다녔다고 해도, 대한민국에서 고등학생으로 살아간다면 여러 요인으로 인해 “열심히”의 기준이 학교 공부가 되기 마련입니다. 전 그저 문제를 푸는 게 재미있었고, 이것만 해도 서울에 있는 대학교에 진학하는 데에는 문제가 없을 것 같아서 게임 대신 한다는 생각으로 문제를 풀었습니다. 처음으로 제가 열심히 공부했다는 것을 자각했을 때는 대학교 3학년 정도였습니다. 이렇게 될 줄 알았으면 고등학생 때 스트레스 좀 덜 받으면서 문제를 풀 걸 그랬습니다.
마무리
옛날 생각하다 보니 글이 길어졌습니다. 고등학생 때 작성한 글 쭉 둘러보니까 너무 어린 티가 많이 나서 밀어버릴지 잠시 고민했지만, 그래도 행복했던 추억이기도 하고 누군가에게는 도움이 될 것 같아서 남겨두려고 합니다. 사실 쓰고 싶은 내용이 더 있었는데, 이건 곧 작성할 2025년 회고에 마저 작성하겠습니다.
언제까지 문제를 풀고 PS 커뮤니티에 남아있을지는 모르겠지만, 이 취미를 유지하는 동안에는 계속 꾸준히 해 보려고 합니다.