§01은 데이터를 보는 다섯 루틴을, §02는 제약을 읽는 네 체크리스트를, §03은 코드를 고치는 개선 전략을, §04는 클러스터별 실전 연습을 줬다. 그러나 도구를 아는 것과 시험장에서 손이 먼저 움직이는 것은 다르다. 이 페이지는 그 간극을 메우는 8주 훈련 교범이다. 매주 정확히 하나의 무기를 장착하고, 일일 과제로 손에 익히고, 주말에 점검한다. Week 8의 마지막 날, 당신은 ../exam-day.html의 압축 패키지를 펼치고 — 거기 적힌 모든 것을 이미 손이 기억하고 있음을 확인하게 된다.
시험장에서 무너지는 응시자의 공통점은 실력이 없는 게 아니라 — 아는 것을 순서대로 꺼내지 못하는 것이다. 데이터 분석을 알지만 어디부터 찍을지 망설이고, N값 함의를 알지만 30초 안에 판정하지 못하고, 개선 전략을 알지만 막상 점수가 안 오르면 막무가내로 코드를 뜯어고친다. 지식은 있는데 절차가 없다. 8주 스케줄은 그 절차를 손에 새기는 과정이다.
이 프로그램은 세 가지 원리 위에 서 있다. 첫째, 한 번에 하나의 무기. 매주 정확히 하나의 능력만 집중 훈련한다. 분석 루틴을 외우는 주에는 제약 추론을 신경 쓰지 않는다 — 여러 개를 동시에 익히면 어느 것도 손에 남지 않는다. 둘째, 장착 → 정비 → 사격. 각 주는 새 무기를 장착(개념 습득)하고, 일일 과제로 정비(반복 숙달)하고, 주말 점검으로 사격 시험(검증)을 거친다. 셋째, 도구에서 도구 없음으로. Week 1~6은 Visual Studio·printf를 마음껏 쓴다. Week 7은 그 도구를 모두 빼앗고 종이와 머리만으로 같은 판단을 재현한다 — 시험장은 결국 도구가 제한된 환경이기 때문이다.
8주의 순서는 임의가 아니다. 시험장에서 응시자의 머리가 실제로 거치는 단계 — 데이터를 본다 → 제약을 읽는다 → 알고리즘을 짠다 → 점수를 개선한다 → 도구 없이 재현한다 → 실전 시뮬레이션 — 을 그대로 8주에 펼친 것이다. Week 1-2(분석)는 §01, Week 3-4(추론)는 §02, Week 5-6(실전)은 §03·§04, Week 7(무도구)은 시험장 조건, Week 8(모의고사)은 ../exam-day.html로 이어진다. 훈련의 순서가 곧 시험의 순서다 — 그래서 8주를 마치면 시험장의 사고 흐름이 이미 한 번 리허설된 상태가 된다.
../exam-day.html의 "오늘 밤 4시간 계획"으로 직행하라. 단 압축할수록 손가락 기억은 옅어진다 — 가능하면 8주 전체를 권한다.아래 표는 8주 전체를 한 장으로 압축한 것이다. 훈련 중 길을 잃으면 이 표로 돌아온다 — "지금 몇 주차이고, 이번 주의 무기는 무엇인가". 강조된 행은 프로그램의 두 정점이다: Week 1-2(모든 것의 토대)와 Week 7(도구 박탈 — 가장 시험장에 가까운 주).
| 주차 | 장착하는 무기 | 연결 가이드 | 주말 점검 기준 |
|---|---|---|---|
Week 1 | 5개 분석 루틴의 암기 — 히스토그램·밀도·거리 | §01 | 3개 루틴을 빈 에디터에서 재현 |
Week 2 | 5개 분석 루틴의 손 숙달 — 요약·구조탐침까지 | §01 | 5개 전부 60초 내 재현 + 출력 해석 |
Week 3 | 제약 → 분포 연역 — 4개 패턴, N값 함의표 | §02 | 제약만 보고 분포 예측 → 실측 일치율 80% |
Week 4 | PASS 역산 + 30초 퀵레퍼런스 | §02 | 새 문제 1개를 30초 안에 등급 판정 |
Week 5 | 클러스터별 4단계 훈련 — 클러스터 1~3 순회 | §04 · §03 | 클러스터당 분석→추론→개선 1회 완주 |
Week 6 | 클러스터별 4단계 훈련 — 클러스터 4~5 + 약점 보강 | §04 · §03 | 5개 클러스터 전부 1회 이상 완주 |
Week 7 | 도구 박탈 — 종이·머리만으로 분석→설계 재현 | §01~§04 종합 | 무도구 3문제 판정 → 도구로 검증, 일치 |
Week 8 | 실전 모의고사 + exam-day 패키지 숙지 | exam-day | 4시간 모의 2회 완주 + 패키지 암기 |
처음 2주의 임무는 단 하나 — §01의 다섯 분석 루틴(히스토그램 · 2D 밀도 맵 · 거리 분포 · 요약 통계 · 구조 탐침)을 보지 않고 재현할 수 있게 만드는 것이다. 시험장에서 데이터를 분석하려면 그 코드를 그 자리에서 짜야 한다. 검색할 수 없고, 미리 저장해둔 파일을 불러올 수도 없다. 손이 기억해야 한다.
이 2주가 끝나면 빈 main.cpp 앞에서 — 어떤 데이터든 — 60초 안에 분석 코드를 꽂을 수 있어야 한다. 무기는 "분석 능력"이 아니라 "분석 코드를 즉석에서 재현하는 손가락 기억"이다. 개념은 §01에서 이미 배웠다. Week 1-2는 그 개념을 근육으로 옮긴다.
매일 실제 문제 하나의 main.cpp에 분석 코드를 직접 꽂는다. 이론으로 외우지 않는다 — 21문제 중 하나를 골라, 그 채점기의 make_tc()를 읽고, §01의 방법 A(user 함수 안에서 인자를 찍는다)로 분석 함수를 호출하고, 실제 출력 창에서 분포를 본다. 손이 거치는 전 과정 — 채점기 정독, analyze() 호출 삽입, 컴파일, 출력 해석 — 을 매일 1회씩 반복한다. 2주면 14회. 14회면 손이 기억한다.
| 날 | Week 1 일일 과제 | Week 2 일일 과제 |
|---|---|---|
월 | 루틴 ① 히스토그램 — 코드 정독 + 1회 손코딩 | 루틴 ④ 요약 통계 — 손코딩 + skew 해석 연습 |
화 | 루틴 ① 재현 — 보지 않고 빈 에디터에 작성 | 루틴 ⑤ 구조 탐침 — 손코딩 + sorted/dup 해석 |
수 | 루틴 ② 2D 밀도 맵 — 코드 정독 + 1회 손코딩 | 루틴 ④⑤ 연속 재현 — 두 개를 한 번에 |
목 | 루틴 ② 재현 + 군집/산포 출력 해석 | 루틴 ①~⑤ 통합 — 한 문제에 다섯 개 전부 꽂기 |
금 | 루틴 ③ 거리 분포 — 코드 정독 + 손코딩 | 통합 재현 — 다섯 루틴을 보지 않고 연속 작성 |
주말 | 점검: 루틴 ①②③ 빈 에디터 재현 + 셀프 채점 | 점검: 루틴 ①~⑤ 전부 60초 내 재현 + 출력 해석 |
// 1단계: 오늘의 문제 채점기에서 make_tc()를 정독 — 무엇이 생성되는가// 2단계: user 함수에 분석 루틴을 보지 않고 직접 작성한다void init(Coordinates pts[], int n) { static int xs[100000], ys[100000]; for (int i = 0; i < n; i++) { xs[i] = pts[i].x; ys[i] = pts[i].y; } histogram(xs, n, "x coord"); // 루틴 ① — 외워서 작성 density(xs, ys, n, MAP_SIZE); // 루틴 ② — 외워서 작성 distDist(xs, ys, n); // 루틴 ③ — 외워서 작성 fflush(stdout); return; // 분석만 하고 종료 — §01 방법 A}// 3단계: Ctrl+F5로 실행, 출력 창에서 분포를 읽고 한 줄로 메모// "x 균등 / 점 산포 / 평균쌍거리 ~420" 같은 한 줄
histogram()은 약 20줄이다 — 그 20줄을 머뭇거림 없이 칠 수 있어야 시험장에서 1분 안에 분석이 끝난다. Week 1-2는 반드시 키보드를 두드리는 시간이 페이지를 읽는 시간보다 길어야 한다. 읽기 30%, 손코딩 70%.summary()의 sd가 범위의 29%면 "균등 확정". §01의 각 "읽는 법" 박스를 함께 외운다 — 출력을 보고 0초 안에 한 단어("균등"/"군집"/"정렬")가 튀어나와야 한다.Week 1-2가 데이터를 관측하는 손을 만들었다면, Week 3-4는 데이터를 연역하는 머리를 만든다. §02의 핵심 — 시드를 한 번도 돌리지 않고, main.cpp의 제약 상수만 읽고 분포를 머릿속에 그리는 능력이다. 관측은 정확하지만 30초~1분이 걸리고, 연역은 읽는 즉시다. 시험장에서는 연역으로 먼저 알고리즘 등급을 정하고, 관측으로 확인한다.
이 2주의 무기는 제약 → 분포의 자동 번역기다. pseudo_rand() % 300 + 100을 보는 순간 머릿속에서 "100~399 균등, 평균 250, σ≈87"이 — 계산이 아니라 반사로 — 떠올라야 한다. Week 3은 분포를 연역하고, Week 4는 그 연역을 PASS 역산까지 밀어붙여 알고리즘 등급을 30초 안에 판정한다.
Week 3의 일일 과제는 예측-검증 루프다. 한 문제의 make_tc()를 읽되 — 절대 컴파일하지 않는다. 먼저 종이에 각 변수의 분포를 적는다: "센터 501~1000 균등 / 좌표 중복없는 균등 / 재고 2~100 삼각, 평균 51". 그 다음에야 §01의 분석 루틴을 꽂아 실제로 돌린다. 종이의 예측과 출력 창의 실측을 나란히 놓고 비교한다 — 맞았는가, 틀렸다면 어느 패턴을 놓쳤는가. 예측이 틀린 곳이 곧 §02에서 다시 읽을 곳이다.
Week 4는 §02 §5의 PASS 역산 공식과 §7의 30초 퀵레퍼런스를 손에 익힌다. 매일 새 문제의 CUT(또는 scoreOfThisTC)을 찾아, "단위당 허용 비용"을 역산하고, 세 판정 중 하나 — 헐겁다(그리디로 충분) · 빡빡하다(정밀+개선 필수) · 닿는다(기본기+튜닝) — 를 내린다. 마지막엔 30초 퀵레퍼런스 표(0–5s N, 5–10s TC, 10–20s 분포, 20–25s CUT, 25–30s 한 줄 판정)를 실제로 타이머를 켜고 30초 안에 완주한다.
| 날 | Week 3 일일 과제 (분포 연역) | Week 4 일일 과제 (등급 판정) |
|---|---|---|
월 | 패턴 1·2 (% N, % N+K) — 예측-검증 루프 1회 | PASS 역산 공식 ①②③ 정독 + 예제 따라 풀기 |
화 | 패턴 3 (합 분포) — 삼각/정규 예측 후 검증 | 새 문제로 PASS 역산 — 비용형 문제 1개 |
수 | 패턴 4 (do-while 중복제거) — 보장 추출 | 새 문제로 PASS 역산 — 처리량형 문제 1개 |
목 | N값 함의표 외우기 — 5개 행 + 대표 문제 | 30초 퀵레퍼런스 — 타이머 켜고 1문제 |
금 | 한 문제 전체 — 4패턴 모두 종이로 예측 후 검증 | 30초 퀵레퍼런스 — 타이머 켜고 새 문제 2개 |
주말 | 점검: 새 문제 1개, 예측-실측 일치율 80% 이상 | 점검: 처음 보는 문제 1개를 30초 내 등급 판정 |
make_tc()를 정독한다. 컴파일 금지. pseudo_rand()가 등장하는 모든 줄을 찾는다.% N 패턴이면 "[0,N) 균등, 평균 N/2, σ≈0.289N", + 두 개면 "삼각, 가운데 몰림".histogram·summary를 꽂아 실제로 돌린다. 출력 창의 실측 min/max/mean/sd를 종이에 함께 적는다.+1을 놓쳤다", "do-while 필터를 못 봤다", "if로 갈라지는 조건부 생성을 놓쳤다". 그 패턴이 다음 날 집중 대상.do-while 안의 숨은 필터, if로 갈라지는 조건부 생성, 좌표를 군집 중심 주변에 뿌리는 코드는 추론만으로 놓친다. Week 3-4의 검증 단계를 절대 생략하지 마라 — 시험장에서도 30초 추론 뒤에는 반드시 §01의 분석 루틴 한 번으로 가설을 확인한다. 추론으로 시작하고, 관측으로 확정한다.Week 1-4는 무기를 따로따로 익혔다 — 분석은 분석, 추론은 추론. Week 5-6은 그것들을 한 문제 위에서 동시에 쓴다. §04의 클러스터별 4단계 훈련 — 분석(§01) → 추론(§02) → 개선(§03) → 머리 재현 — 을 5개 클러스터에 순서대로 적용한다. 클러스터는 Expert 21문제를 알고리즘 성격으로 묶은 5개의 부족이다. 클러스터별로 한 대표 문제를 골라 4단계를 완주한다.
이 2주의 무기는 개별 도구가 아니라 도구를 잇는 흐름이다. 데이터를 보고(§01), 제약을 읽고(§02), 알고리즘을 짜고, 점수가 모자라면 개선한다(§03) — 이 네 단계가 끊김 없이 이어져야 한다. 단계 사이에서 망설이면 4시간 시험이 무너진다. Week 5-6은 그 이음매를 매끄럽게 한다.
Week 5-6의 단위는 "문제 하나"가 아니라 "4단계 1완주"다. 한 문제를 골랐으면 — 분석 루틴을 꽂아 데이터를 보고, 제약을 읽어 등급을 판정하고, baseline 알고리즘을 짜고, §03의 개선 전략(병목 탐지·파라미터 스윕·A/B 비교)으로 점수를 끌어올리고, 마지막으로 도구를 닫고 그 풀이 흐름을 머릿속에서 한 번 재생한다. 한 문제를 절반만 풀고 다음으로 넘어가지 않는다 — 4단계를 다 거쳐야 1완주다.
| 주차 | 순회하는 클러스터 | 한 클러스터에서 하는 일 |
|---|---|---|
Week 5 | 클러스터 1·2·3 — 한 클러스터에 약 2일 | 대표 문제 1개 골라 4단계 완주 → 같은 클러스터 2번째 문제로 흐름 반복 |
Week 6 | 클러스터 4·5 + 약점 클러스터 재방문 | 4·5 클러스터 4단계 완주 → Week 5에서 가장 막혔던 클러스터 1개 재훈련 |
| 날 | 한 클러스터 2일 사이클 |
|---|---|
1일차 전반 | 단계 1·2 — 분석 + 추론. 대표 문제 채점기 정독 → §01 루틴으로 데이터 관측 → §02로 제약 추론 → 30초 등급 판정. 종이에 "이 문제는 ___형 + ___등급" 한 줄. |
1일차 후반 | 단계 3 — baseline 구현. 판정한 등급의 가장 단순한 알고리즘으로 컴파일되는 코드. PASS 못해도 점수가 수치로 나오게. |
2일차 전반 | 단계 3 계속 — 개선. §03의 병목 탐지 → 파라미터 스윕 → A/B 비교로 점수를 끌어올린다. 매 개선마다 점수 측정, 안 오르면 롤백. |
2일차 후반 | 단계 4 — 머리 재현. 도구를 닫고 그 문제의 풀이 흐름 전체를 말로 1분 안에 설명. 막히는 지점이 다음 클러스터에서 보강할 약점. |
make_tc()를 정독하고, §01의 분석 루틴(히스토그램·밀도·거리)을 꽂아 데이터의 모양을 관측한다. "균등인가 군집인가 정렬인가" 한 단어.앞의 6주는 Visual Studio·printf·출력 창을 마음껏 썼다. Week 7은 그것을 전부 빼앗는다. 시험장은 결국 도구가 제한된 환경 — 인터넷 검색 없고, 미리 만든 분석 파일 없고, 컴파일과 실행이 느리다. 도구에 의존해 키운 능력이 도구 없이도 작동하는지 — 이번 주가 그 유일한 검증이다.
Week 7의 무기는 새 지식이 아니라 독립성이다. 종이와 머리만으로 — 컴파일 한 번 없이 — 채점기를 읽고, 분포를 연역하고, 알고리즘 등급을 판정하고, 풀이의 골격을 설계하는 능력. Week 3-4의 제약 추론과 Week 5-6 단계 4의 머리 재현이 이 주의 토대다. Week 7은 그 둘을 합쳐 "도구 없는 완주"로 끌어올린다.
이번 주 동안 다음을 금지한다: Visual Studio 컴파일·실행, printf 출력 확인, §01~§04 페이지 열람, 인터넷 검색. 허용되는 것: main.cpp 채점기 소스 읽기(시험장에서 화면에 뜨므로), 종이, 펜, 그리고 머리. 데이터를 "보는" 것이 금지되므로 — 데이터를 전부 연역해야 한다. 이것이 시험장의 실제 조건에 가장 가까운 상태다.
| 날 | Week 7 일일 과제 (무도구) |
|---|---|
월 | 새 문제 1개 — 채점기만 읽고 종이에 분포·N·TC·CUT 연역. 컴파일 금지. |
화 | 월요일 문제 — 종이에 알고리즘 등급 판정 + baseline 설계도(자료구조·정렬·그리디 흐름). |
수 | 새 문제 2개 — 각각 채점기 읽고 30초 등급 판정. 손목시계로 시간 측정. |
목 | 새 문제 1개 — 분석→추론→설계 전 과정을 종이로 완주. 풀이 골격까지. |
금 | 검증의 날 — 한 주 동안 종이로 판정한 문제들을 이제 컴파일·실행해 실측과 대조. |
주말 | 점검: 새 문제 3개 무도구 판정 → 도구로 검증, 등급 판정 일치하면 통과. |
main.cpp를 처음부터 끝까지 읽는다. make_tc()의 모든 pseudo_rand() 줄, for (tc < TC) 루프, scoreOfThisTC()를 찾아 표시한다.% N + K → "[K,K+N) 균등, 평균 K+N/2, σ≈0.289N".../exam-day.html의 판단 트리를 머리로 따라간다.printf로 데이터를 봤다면, 도구가 느리거나 막힐 때 머리가 멈춘다. Week 7은 그 의존을 미리 끊는다. 도구 없이 한 주를 버텨내면, 시험장에서 도구는 "있으면 좋은 보조"가 되지 "없으면 무너지는 생명선"이 아니게 된다. §01이 가르친 "데이터를 만드는 코드를 본다"는 발상 — Week 7이 그것을 도구 없이도 작동하게 만든다.마지막 주다. 7주 동안 무기를 하나씩 장착했다 — 분석·추론·실전·무도구. Week 8은 그 전부를 실전 조건에서 한꺼번에 쏜다. 4시간 모의고사를 시계까지 맞춰 두 번 치르고, exam-day 압축 패키지를 손에 익혀 시험 전날과 당일의 행동까지 리허설한다.
Week 8의 무기는 통합 실행력이다. 분석·추론·개선을 각각 잘하는 것과, 4시간이라는 압박 속에서 시간 분배까지 지키며 셋을 연달아 해내는 것은 다른 능력이다. 모의고사가 그 차이를 메운다. 그리고 ../exam-day.html이 시험 당일의 행동 — 시간 분배표, 판단 트리, 막혔을 때 리셋 프로토콜, 제출 전 체크리스트 — 까지 손에 새긴다.
| 날 | Week 8 일일 과제 |
|---|---|
월 | 모의고사 1회차 — 처음 보는 문제, 4시간 타이머. exam-day의 시간 분배표(0:15 정독 / 0:30 선택 / 1:30 baseline / 3:30 검증)대로. |
화 | 1회차 복기 — 시간 분배 어디서 어긋났나, 어느 단계가 느렸나. exam-day "자주 하는 실수 25" 대조. |
수 | exam-day 코드 스니펫 12선 — 손으로 따라치며 외운다. PQ·Counting Sort·Dijkstra·Integral Image 우선. |
목 | 모의고사 2회차 — 다른 문제, 4시간. 1회차 약점을 의식하며. baseline을 1:30 안에 반드시. |
금 | 2회차 복기 + exam-day 판단 트리 8문항 암기 + 실전 패턴 4축 점검. |
주말 | 점검: exam-day 패키지 전체 — 시간 분배표·판단 트리·스니펫 12선·실수 25를 보지 않고 떠올릴 수 있는가. |
// 0:00-0:15 문제 정독 + 모델 분해 — 키보드 금지, 손으로 노트// §02 30초 퀵레퍼런스로 N·TC·분포·CUT 판정// 0:15-0:30 알고리즘 선택 — exam-day 판단 트리 8문항// main 입출력 골격만 작성 + 컴파일// 0:30-1:30 baseline 구현 — §01 분석 루틴 꽂아 데이터 확인 후// 가장 단순한 그리디. PASS 못해도 점수가 수치로 나오게// 1:30-2:00 제출 가능 점수 — 그리디 휴리스틱 추가, PASS 80% 목표// 2:00-3:00 최적화 라운드 1 — §03 파라미터 스윕, 30분마다 측정// 3:00-3:30 최적화 라운드 2 — 미세 가속. 큰 리팩토링 금지// 3:30-4:00 검증 — 시드 5/100/999 점수 측정, 제출 형식 확인// ★ 이 30분 절대 새 코드 금지 ★
../exam-day.html을 펼쳐보라. 거기 적힌 12개 스니펫 — 손이 안다. 8개 판단 트리 — 머리가 안다. 시간 분배표 — 모의고사로 두 번 겪었다. 실수 25 — Week 5-6에서 다 부딪혀봤다. exam-day 페이지가 "내일 시험용 압축 패키지"라면, 이 8주는 그 패키지의 모든 항목을 이미 손에 새겨두는 과정이었다. 8주 전에는 그 페이지가 외울 목록이었고, 8주 후에는 확인 목록이 된다. 그것이 이 스케줄의 종착점이다.8주 스케줄이 "무엇을"을 정했다면, 일일 루틴 템플릿은 "어떻게 하루를 쓰는가"를 정한다. 막연한 "오늘 공부한다"가 아니라, 분 단위로 짜인 세 개의 틀 — 평일 90분 루틴(주중 매일), 주말 3시간 루틴(점검과 보강), D-7 집중 루틴(시험 직전 한 주) — 이다. 8주 내내 평일·주말 루틴을 돌리고, 마지막 주에 D-7 루틴으로 전환한다.
직장·학교와 병행하는 응시자를 위한 최소 단위. 하루 90분, 일주일 5회 — 한 주에 7.5시간이면 그 주의 무기 하나를 손에 익히기에 충분하다. 90분을 셋으로 쪼갠다.
주말은 평일과 성격이 다르다. 새 진도가 아니라 — 한 주의 무기가 정말 손에 잡혔는지 점검하고, 안 잡힌 곳을 보강하는 시간이다. 3시간을 넷으로 쪼갠다.
Week 8과 겹치는 마지막 한 주, 혹은 8주 스케줄을 다 못 채웠더라도 시험이 7일 앞으로 다가왔을 때의 루틴이다. 이 주의 원칙은 하나 — 새것을 외우지 않는다, 아는 것을 손에 굳힌다. ../exam-day.html의 "오늘 밤 4시간 계획"이 D-1의 압축판이라면, D-7 루틴은 그 일주일판이다.
| 템플릿 | 언제 | 총량 | 핵심 임무 |
|---|---|---|---|
| ① 평일 90분 | 주중 월~금 (8주 내내) | 주 7.5h | 그 주 무기의 일일 과제 — 손코딩 70% |
| ② 주말 3시간 | 토 또는 일, 주 1회 (8주 내내) | 주 3h | 점검 · 약점 보강 · 통합 1회 · 다음 주 예열 |
| ③ D-7 집중 | 시험 직전 7일 (Week 8과 겹침) | — | 새것 금지 · 아는 것 굳히기 · 모의고사 2회 |
5개 섹션, 8주, 3개의 일일 루틴 템플릿. Training 코너의 마지막 페이지가 여기서 끝난다. 그러나 이 페이지의 진짜 끝은 — 8주 뒤 시험장 문 앞에 선 당신이다.
되짚어 보자. §01은 printf 하나로 데이터의 격자를 여는 다섯 루틴을 줬다. §02는 시드를 안 돌리고 제약만으로 분포를 연역하는 네 체크리스트를 줬다. §03은 코드를 막무가내가 아니라 측정으로 고치는 개선 전략을 줬다. §04는 5개 클러스터에 그 모두를 적용하는 4단계 훈련을 줬다. 그리고 §05 — 이 페이지 — 는 그 네 무기를 8주에 걸쳐 손에 새기는 순서를 줬다.
이 코너는 한 번도 "더 많은 알고리즘을 외워라"라고 말하지 않았다. ../exam-day.html에 이미 12개 스니펫·8개 판단 트리가 있다 — 알고리즘은 그것으로 충분하다. Training이 메우려 한 것은 다른 간극 — 아는 것과 손이 먼저 움직이는 것 사이다. 데이터를 분석할 줄 아는 것과 빈 에디터에서 60초 안에 분석 코드를 짜는 것, 제약을 이해하는 것과 30초 안에 등급을 판정하는 것, 개선 전략을 읽은 것과 점수가 안 오를 때 침착하게 병목을 측정하는 것. 8주는 그 간극을 메운다.