Re/ 폴더와 -review.cpp로 만들던 수동 오답노트
백준과 프로그래머스 시절, 깃허브 레포(CHOOSLA/Algorithm)에는 복습의 흔적이 남아 있다. 분할정복 곱셈을 다시 풀어본 Re/1629.cpp, 백트래킹을 두 번 짚어본 1182-review.cpp와 9663-review.cpp. 풀이가 흐릿한 문제는 별도 폴더와 접미사로 강제로 다시 풀게 만들어 둔 자국이다.
이 방식은 의도는 맞았지만 오래가지 못했다. 복습 한 번을 위해 폴더를 새로 파고, 파일명을 바꾸고, 커밋 메시지를 구분해 다시 푸시하는 과정이 매번 요구되었다. 손이 많이 가는 절차는 의지력이 약해진 날을 견디지 못한다. 며칠을 미루다 보면 맞춘 문제는 그대로 지나치는 옛 습관이 다시 자리를 잡았다.
북마크로 옮겨온 뒤 사라진 번거로움
코드트리로 환경을 옮긴 뒤에도 한동안은 같은 패턴이 이어졌다. 정답을 받으면 다음 문제로 곧장 넘어갔다. 지난 3회차 글에서는 알림톡으로 '매일 푸는 루틴'은 만들었다고 적었는데, 정작 '틀린 문제로 돌아가는 루틴'은 없는 상태였다. 4회차 미션을 준비하면서 플랫폼 안의 '북마크' 기능을 써보기로 했다.

기능 자체는 단순하다. 문제 화면에서 버튼을 누르면 내가 지정한 폴더로 들어간다. 다만 그동안 깃허브에서 직접 구현하려 했던 '복습 보관소'가, 별도 에디터나 커밋 없이 클릭 하나로 채워진다는 점이 달랐다. 복습을 시작하기까지 거쳐야 하는 단계가 거의 사라졌다. 3회차에 채우지 못했던 루틴의 빈 칸이, 이번 회차에서 드디어 메워질 자리를 잡은 셈이다.
두 개의 폴더
아직 시뮬레이션 I 단계를 돌고 있는 시점이라 푼 문제의 양은 많지 않았다. 유형별로 잘게 쪼개는 대신, 지금 단계에서 의미가 있는 두 폴더만 만들었다.

- 한번에 못 풀었던 문제: 첫 제출에서 컴파일 에러나 오답을 받았거나, 풀이 흐름을 잡는 데 30분 이상 걸린 문제.
- 해설이 내 풀이보다 나았던 문제: 정답은 받았지만 해설의 모듈화나 네이밍이 내 코드보다 명확해 다시 짚어볼 가치가 있는 문제.
한번에 못 풀었던 문제 폴더에는 현재 정확히 두 개가 들어 있다.
- 잔해물을 덮기 위한 사각형의 최소 넓이
- 연속되는 수 2
두 문제를 한 화면에 띄워봤다

책상에 앉아 폴더를 열고 두 문제를 한 화면에 띄웠다. 처음에는 그냥 다시 풀 생각이었다. 두 코드의 어긋난 지점을 따라가다 한참을 멍하니 모니터만 봤다. 같은 실수였다. 흩어진 채로는 보이지 않던 공통적인 문제가 한 화면에 모이니 또렷해졌다.
같은 자리에서 두 번 미끄러진 흔적
잔해물을 덮기 위한 사각형의 최소 넓이는 두 직사각형이 겹친 후 남은 영역을 감싸는 최소 사각형의 넓이를 구하는 문제다. 처음 풀 때는 좌표 평면의 음수 인덱스를 배열로 매핑하기 위한 offset 설정과, 겹친 뒤 남은 영역의 경계를 계산하는 부분에서 막혔다. "이 정도 범위면 충분하다"는 어림으로 마무리하다가 1의 오차로 오답을 받았다.
연속되는 수 2도 결이 비슷했다. 같은 숫자가 연속해서 등장하는 최대 횟수를 카운트하는 단순 탐색이지만, 루프가 끝난 직후 마지막으로 누적된 카운트를 최댓값과 비교하지 않아 마지막 구간이 통째로 누락되었다.
두 문제를 한 폴더에 모아두지 않았다면 "그냥 실수했네" 정도로 흘려보냈을 가능성이 크다. 모아놓고 비교하니 결론은 분명했다.
루프의 마지막 경계 처리, 인덱스 1 차이의 디테일하게 생각하지않고 직관에 기대 코드를 끝맺는 습관이 반복되고 있었다.
이렇게 다시 보니 내가 가진 약점을 파악했던 순간이었다. 솔직히 조금 머쓱했다. 머릿속에서 "다음에는 경계 조건부터 챙겨야지" 하고 미뤄두었던 다짐이, 같은 자리에서 두 번이나 미끄러져 있었다는 걸 그제야 알아챘다.
그 자리에서 다시 풀어봤다
자각한 패턴을 그대로 두기 아쉬워서 두 문제를 다시 풀어봤다.
잔해물 사각형은 offset 경계점을 종이에 먼저 적어두고 들어갔다. 저번에는 두 번 틀리고 통과했던 문제가 이번에는 첫 제출에서 그대로 통과했다.
자신감이 붙은 채로 연속되는 수 2를 다시 열었다. 같은 약점을 의식하고 들어갔는데도 두 번을 더 틀린 뒤에야 통과 판정을 받았다. 마지막 구간 갱신 한 줄이 또 빠져 있었다.
저번에 네 번 틀렸던 부분에서 두 번으로 줄어든 결과를 가만히 들여다봤다. 머리로 안다고 손이 따라오는 것은 아니었다. 패턴을 기록하는 것과 패턴을 손에 새기는 것은 다른 작업이라는 결론이 남았다.
북마크 복습에 바라는 한 가지
기능을 쓰면서 한 가지 아쉬운 점이 남았다.
북마크 폴더에 모은 문제를 다시 풀 때, 이전에 작성해 틀렸거나 애매하게 맞췄던 제출 코드를 문제 화면 옆에 분할 화면이나 슬라이드로 띄워주는 UX가 있었으면 한다. 지금은 '제출 이력' 탭을 매번 새로 클릭하거나, 깃허브에 남아 있는 과거 버전을 따로 열어 대조해야 한다. 복습의 본질은 과거의 잘못된 사고와 현재의 개선된 사고를 같은 화면에서 마주하는 것이라, 이 단계가 한 번에 보이게 되면 오답노트로서의 가치가 한 단계 올라갈 것 같다.
또 글을 쓰다가 생각나는 아이디어가 있는데, 캡체크에서 우리의 풀이를 해석해주는 것 처럼 이런 공통적인 사용자의 실수를 분석해서 보여주면 코드트리가 더 완벽한 학습 사이트가 되지 않을지 상상해본다.
내가 정한 복습 루틴
수동 깃허브 관리의 번거로움에서 벗어나 플랫폼 북마크의 기능을 사용해서 두 단계로 통하는 루틴을 만들었다.
- 풀이 직후의 1초 분류
문제를 풀고 나서 애매하게 맞췄거나 한 번이라도 막혔다면 주저 없이 북마크 폴더에 넣는다. 분류 기준을 완벽하게 다듬으려 하지 않고, 찜찜함이 남았다는 신호만으로 버튼을 누른다. - 주말의 오답 세션
주말에는 새 진도를 나가기 전에한번에 못 풀었던 문제폴더를 연다. 경계값 조건과 오프셋 예외 처리를 의식적으로 점검하며 처음부터 다시 작성한다.
복습을 미뤘던 이유는 의지력의 문제가 아니었다. 복습에 도달하기 전 거쳐야 하는 절차가 너무 번거로웠을 뿐이었다. 북마크가 그 절차를 걷어낸 만큼, 이번에 세운 루틴을 그대로 유지하며 인덱스 1 차이의 실수를 하나씩 지워 나갈 계획이다.
나처럼 맞춘 문제는 뒤도 안 돌아보던 사람이라면, 코드트리의 북마크 폴더 하나쯤 만들어보길 권한다!
https://www.codetree.ai/ko/trail-info
코딩 테스트 학습 안내 | 코드트리
막막한 코딩테스트 준비, 혼자 헤매지 말고 체계적인 코딩 학습과 단계별 가이드로 빠르게 실력을 쌓아 취업에 성공하세요.
www.codetree.ai
'알고리즘 > 코드트리' 카테고리의 다른 글
| [코드트리 갭체크 후기] 한 달 전 '불안정'이던 완전탐색, 다시 응시해봤다 (0) | 2026.06.08 |
|---|---|
| [코테 독학] 바쁜 일상 속 코드트리 알림톡으로 코테 독학 루틴 지키기 (0) | 2026.05.25 |
| [코드트리] 완전 탐색 알고리즘 극복 학습, 갭체크 이후 (0) | 2026.05.18 |
| [코드트리] 코드트리 갭체크, 내가 부족한 부분 검사하기 (2) | 2026.05.11 |
