코드트리에서 매일 한 문제씩 푸는 습관을 1년 넘게 이어오고 있다. 그런데 어느 순간 "푼 문제 수는 늘어나는데, 정작 약한 유형은 그대로네?" 하는 답답함이 들었다. 새 문제 푸느라 바빠서, 한 번 막혔던 문제를 다시 들여다볼 여유가 없었던 것이다.
그러다 코드트리에 북마크 기능이 있다는 걸 제대로 활용하기 시작하면서 이 문제가 풀렸다. 이번 글에서는 내가 북마크를 어떻게 나만의 오답노트로 만들었는지, 그리고 그걸로 어떤 복습 루틴을 굴리고 있는지 정리해 본다.
북마크 기능이 궁금하다면 여기서 바로 볼 수 있다 👉 코드트리 내 북마크 보러가기
1. 북마크 폴더, 어떤 기준으로 나눴을까? (나만의 활용 꿀팁)
처음엔 그냥 "다시 보고 싶다" 싶은 문제에 별표만 막 눌렀다. 결과는? 폴더가 잡탕이 돼서 결국 한 번도 다시 안 열어봤다. 즐겨찾기가 아니라 무덤이 된 것이다.
그래서 폴더를 '유형 × 상태' 두 개의 축으로 다시 설계했다.
- 유형 축: 백트래킹 / DP / BFS·DFS / 그리디 / 시뮬레이션
- 상태 축(= 왜 저장했나): 틀림 / 시간 초과 / 풀이가 좋아서 / 패턴 정리용
그리고 폴더 이름에 '왜 담았는지'를 한 단어로 박아 넣었다. 예를 들면 이런 식이다.
- 🔁 백트래킹_약점노트 — 스스로 가장 약하다고 느끼는 유형
- ⏱️ DP_시간초과 — 풀긴 했는데 비효율적이었던 문제
- 💡 좋은풀이_저장소 — 내 풀이보다 깔끔한 접근을 봤을 때
꿀팁 핵심은 폴더 이름에 '의도'를 담는 것이다. 단순히 "어려운 문제"가 아니라 "왜 다시 봐야 하는지"가 이름에 들어가 있으니, 폴더를 열 때마다 복습할 동기가 같이 따라온다.
2. 다시 풀면서 새롭게 깨달은 점
북마크를 정리하고 나서 가장 크게 체감한 건 "풀었다 ≠ 안다" 라는 사실이다. 분명 한 번 맞혔던 문제인데, 일주일 뒤에 다시 열면 절반 정도는 또 손이 멈췄다.
특히 내 약점인 백트래킹에서 변화가 컸다. 약점노트 폴더의 문제들을 반복해서 풀다 보니, 내가 매번 똑같은 곳에서 막힌다는 패턴이 보였다.
- 1회차: 가지치기(pruning) 조건을 안 걸어서 시간 초과
- 2회차: 재귀에서 빠져나올 때 상태 복원(되돌리기) 을 빠뜨리는 실수
- 3회차: 위 두 개가 손에 익으면서 비로소 골격이 자동으로 나옴
같은 실수를 '메타 인지'하게 된 것만으로도 다음 새 문제를 풀 때 확연히 덜 막혔다.
DP 쪽도 마찬가지였다. 냅색 변형, 계단 오르기, 분할 문제처럼 흩어져 있던 문제들을 한 폴더에 모아두니, 점화식을 세우는 공통 골격(상태 정의 → 전이 → 초기값) 이 비로소 눈에 들어왔다. 문제마다 따로 외우던 걸, 하나의 틀로 묶어서 이해하게 된 셈이다.
3. 코드트리 커리큘럼 + 북마크 = 나만의 복습 루틴
지금 굴리고 있는 루틴은 이렇게 단순하다.
[매일]
- 커리큘럼 진도대로 신규 문제 1개 풀기
- 북마크 폴더에서 복습 문제 1개 다시 풀기
- 풀다가 막히거나 비효율적이었던 문제는 그 자리에서 별표 → 상태 폴더로 분류
[주말]
- 약점노트 폴더를 몰아서 다시 풀기
- 3번 연속으로 막힘 없이 풀리면 '졸업' 처리해서 폴더에서 빼기 (또는 정복 완료 폴더로 이동)
- 그 주의 복습 회고를 블로그에 짧게 기록
이 루틴의 좋은 점은 '신규 1 + 복습 1' 구조라서 새 진도를 빼지 않으면서도 약점이 계속 갈린다는 거다. 그리고 졸업 시스템 덕분에 약점노트 폴더가 끝없이 불어나지 않고, 줄어드는 걸 눈으로 보니 성취감도 생긴다.
새 문제만 쫓아가던 습관에서, 틀린 문제를 자산으로 쌓는 습관으로 바뀐 게 이번 북마크 활용의 가장 큰 수확이다. 비슷한 고민이 있다면, 일단 폴더 이름부터 '왜 담았는지'로 바꿔보길 추천한다.
북마크 | 코드트리
인상적인 코딩 문제를 북마크에 추가해 언제든지 풀어보세요. 꾸준한 연습이 실력을 키우는 지름길입니다.
www.codetree.ai