코딩테스트 공부를 시작할 때 가장 어려운 점은 “내가 정확히 어디가 부족한지”를 아는 것이라고 생각한다.
문제를 풀다 보면 막연히 구현이 약한 것 같기도 하고, 배열이 헷갈리는 것 같기도 하고, 시뮬레이션이나 BFS/DFS처럼 조금만 복잡한 유형이 나오면 기본기가 흔들리는 느낌을 받을 때가 많았다. 그래서 코드트리 청약챌린지를 시작하면서 갭체크를 통해 현재 실력을 먼저 확인해본 것이 꽤 도움이 됐다.

처음 갭체크를 봤던 5월 18일 결과에서는 1차원 배열이 “불안정” 상태로 나왔고, 2차원 배열은 “부족” 상태로 나왔다. 특히 2차원 배열 쪽에는 완전탐색 III, 2차원 배열, 시뮬레이션 I 같은 개념들이 함께 표시되어 있었다. 배열 자체를 모르는 것은 아니라고 생각했지만, 문제를 풀 때 인덱스 접근이나 반복문 범위, 행과 열을 다루는 부분에서 실수가 잦았기 때문에 결과를 보고 어느 정도 납득이 됐다.

이번에 다시 갭체크를 응시했을 때도 결과가 완전히 달라졌다고 보기는 어려웠다. 1차원 배열은 여전히 불안정 상태였고, 2차원 배열도 아직 부족 상태로 남아 있었다. 다만 처음 결과에서는 2차원 배열과 함께 완전탐색 III, 2차원 배열, 시뮬레이션 I이 같이 표시되었는데, 이번 결과에서는 2차원 배열과 시뮬레이션 I 중심으로 표시되었다. 큰 폭의 성장은 아니지만, 적어도 내가 어느 부분을 계속 잡고 가야 하는지는 더 분명해졌다고 느꼈다.
갭체크 결과에 잘 나오지는 않지만 푸는 속도도 빨라졌다고 느낀다. 또한 헤메는 문제가 나오면 좌절하기 보단, 코드트리의 커리큘럼에서 해당 부분을 찾아서 다시 학습해봐야겠다는 생각이 든다는 점도 달라진 점이라고 느낀다.
사실 처음에는 한 달 동안 매일 열심히 풀어서 눈에 띄는 성장을 만드는 것이 목표였다. 하지만 실제로는 그렇게까지 꾸준히 하지는 못했다. 일주일에 절반 정도, 하루에 한두 시간씩 문제를 푸는 정도였다. 그래서 이번 갭체크 결과가 크게 달라지지 않은 점은 아쉽다. 그래도 오히려 이 결과를 보면서 아직 기본기를 더 다져야 한다는 걸 다시 확인할 수 있었다.
지난 한 달 동안 코드트리에서 주로 한 것은 커리큘럼을 따라가며 쉬운 문제부터 차근차근 푸는 것이었다. 예전에는 코딩테스트 공부를 할 때 바로 응용문제를 풀려고 하다가 금방 지쳤다. 기본기에 구멍이 많은 상태에서 어려운 문제를 만나면, 문제를 푸는 과정이 재미있기보다는 막막하게만 느껴졌다. 그런데 코드트리는 Trail, Chapter, Lesson 단위로 나뉘어 있어서 지금 내가 어떤 개념을 연습하고 있는지 확인하면서 공부할 수 있다는 점이 좋았다.
특히 며칠 전에 시뮬레이션 문제를 풀어봤을 때 이 장점을 많이 느꼈다. 시뮬레이션은 문제 설명을 코드로 옮기는 과정에서 조건을 하나씩 빠뜨리지 않는 것이 중요한데, 기본 문제부터 천천히 풀다 보니 생각보다 이해가 잘 됐고 재미도 있었다. 예전에는 시뮬레이션이라고 하면 구현량이 많고 복잡한 문제부터 떠올라서 부담스러웠는데, 기본부터 풀어보니 “아, 이 유형도 작은 단위로 나누면 해볼 만하구나”라는 생각이 들었다.
아직 약점 유형이 강점으로 완전히 바뀌었다고 말하기는 어렵다. 하지만 처음에는 막막하게만 느껴졌던 유형을 조금씩 풀 수 있게 되는 순간들이 생기고 있다. 예를 들어 반복문 범위를 잡거나, 배열의 인덱스를 하나씩 확인하면서 구현하는 과정이 예전보다 덜 부담스럽게 느껴졌다. 이런 작은 변화가 쌓이면 나중에 BFS, DFS 같은 빈출 유형을 풀 때도 도움이 될 것 같다. 결국 BFS나 DFS도 기본적인 배열 접근, 좌표 이동, 조건 처리에서 흔들리면 응용문제를 풀기 어렵기 때문이다.
이번 중간 점검을 통해 느낀 것은, 코딩테스트 공부는 단기간에 확 좋아지기보다는 약점을 계속 확인하고 보완하는 과정에 가깝다는 점이다. 갭체크 결과가 크게 바뀌지 않은 것은 아쉽지만, 오히려 지금 내 위치를 다시 확인할 수 있어서 좋았다. 이제 곧 하반기 채용공고도 올라오기 시작할 시기라 다시 마음을 다잡고 공부해야겠다는 생각이 든다.
앞으로 코드트리에서 달성하고 싶은 목표는 기본 유형을 최대한 흔들리지 않게 만드는 것이다. 특히 1차원 배열, 2차원 배열, 시뮬레이션, 완전탐색처럼 자주 나오는 기본 유형을 먼저 안정적으로 만들고 싶다. 이후에는 BFS, DFS, 백트래킹 같은 빈출 유형까지 이어서 학습하면서, 응용문제를 만나도 기본기가 흔들리지 않는 상태를 만드는 것이 목표다.
아직 갈 길은 멀지만, 이번 갭체크를 통해 무엇을 더 공부해야 하는지 다시 확인할 수 있었다. 남은 챌린지 기간 동안 코드트리 커리큘럼을 따라가며 부족한 개념을 하나씩 채워가고 싶다. 이번에는 단순히 문제 수를 채우는 공부가 아니라, 내가 약한 부분을 정확히 알고 복습하면서 실력을 쌓는 공부를 해보려고 한다.
코드트리 학습하러 가기: https://www.codetree.ai/