나는 고등학교 1학년 때 알고리즘 공부를 시작했다. 당시에는 잘하는 것이 없었기 때문에 기본기를 다지자는 생각으로 매일매일 알고리즘 문제를 풀었다. solved.ac라는 플랫폼에서 더 높은 티어에 도달하기 위해 노력했지만, 점차 '1일 1백준'에만 몰두하며 의욕과 방향성을 잃어갔던 것 같다.
1학년 겨울방학 동안에는 집에서 할 일이 없어서 하루 종일 백준 문제만 풀었다. 골드 1문제, 실버 5문제, 브론즈 20문제 비율로 꾸준히 문제를 풀었지만, 어느 순간 내가 하는 공부가 알고리즘 공부가 아니라는 생각이 들기 시작했다. 골드나 플래티넘처럼 고민이 오래 필요한 문제를 피하고 내가 좋아하는 카테고리의 더 쉬운 문제들만 푸는 방향으로 흐르고 있었다.
그때쯤 나는 백준에서 "정답입니다!"라는 메시지에 집착하고 있었다. 실력이 오르지 않는데도, CP형식으로 빠르게 문제만 푸는 데 만족했던 것이다. 하지만 이상하게도 이런 방식이 재미있다고 느껴서, 실력 향상 없이 문제 풀이만 계속 반복했다.
정신을 차린 것은 고등학교 2학년 1학기였다. 평소와 다르게 프로그래머스 플랫폼을 켰는데, AI 추천 문제로 최단거리(다익스트라) 문제를 만났다. 나는 이 문제를 넘기고 말았다. 그때 문득 1년 넘게 자료구조와 알고리즘을 공부했음에도 불구하고, 기본적인 큐, 스택, 우선순위 큐, 맵 정도만 알고 있었고, 그것을 활용한 알고리즘 작성 능력이 부족하다는 사실을 깨달았다.
그 순간 나는 내가 지금까지 알고리즘을 게임처럼 즐겼을 뿐, 진정한 공부는 하지 않았다는 것을 인지하게 되었다. 나는 항상 같은 유형의 문제만 반복적으로 풀었고, 알고리즘의 본질적 이해와 응용에 대한 노력은 부족했다.
이 글을 읽는 알고리즘에 관심이 있는 사람들에게 내가 겪었던 시행착오를 되풀이하지 않기를 바란다. 나는 이러한 경험을 통해 진짜 공부가 무엇인지 깨닫게 되었지만, 그것을 깨닫는 데 1년 반이라는 시간이 걸렸다. 그 시간은 지금 생각해도 아깝게 느껴진다.
알고리즘 공부는 재미만을 위해서가 아니라 실질적인 실력 향상과 문제 해결 능력 개발을 목표로 삼아야 한다. 나처럼 시간만 낭비하지 말고, 효율적이고 체계적인 방식으로 학습하길 바란다.
'Algorithm' 카테고리의 다른 글
지원이의 여자친구를 출제하게 된 계기 (1) | 2024.10.05 |
---|