개념
여기까지 왔다면 도구는 충분히 갖췄어요. 마지막 주는 새 알고리즘이 아니라 가진 것을 시험 시간 안에 점수로 바꾸는 방법이에요. 실력이 같아도 이 부분에서 결과가 크게 갈려요.제한 조건 역산은 특히 중요해요.
시험 시작 후 첫 10분
- 모든 문제를 훑어 읽어요. 순서대로 풀 이유가 전혀 없어요
- 각 문제 옆에 체감 난이도와 짐작되는 유형을 적어요
- 제한 조건에서 목표 복잡도를 역산해요 (1주차 표)
- 쉬운 것부터 확실히 맞히는 순서를 정해요
n ≤ 20이면 완전 탐색, n ≤ 5,000이면 O(n²) 허용, n ≤ 200,000이면 정렬이나 이분 탐색, n이 천만이면 한 번 순회. 이 판단을 코드 쓰기 전에 끝내면 헛수고를 막아요.시간 배분
| 상황 | 행동 |
|---|---|
| 한 문제에서 20분 경과, 아이디어 없음 | 표시하고 다음 문제로 |
| 아이디어는 있는데 구현이 안 끝남 | 10분 더 주고 안 되면 넘어감 |
| 전부 한 바퀴 돌았다 | 가장 가까웠던 문제로 복귀 |
| 남은 시간 20분 | 부분 점수와 제출 상태 점검 |
부분 점수 전략
많은 플랫폼이 테스트 케이스별로 점수를 줘요. 최적해가 안 떠오르면 브루트포스라도 제출해요. 작은 입력의 케이스는 통과해요. 0점과 40점은 큰 차이예요.- 느려도 맞는 풀이를 먼저 완성하고, 시간이 남으면 최적화해요
- 예외 처리가 안 끝났어도 일단 제출해 두고 개선해요
- 빈 함수로 두지 마세요 — 아무 값이라도 반환하면 맞는 케이스가 있을 수 있어요
제출 전 점검
- 예제를 전부 넣어 봤나요
- 입력이 비었을 때, 크기가 1일 때는요?
- 인덱스 경계 —
-1이나길이에 닿는 곳은 없나요 - 디버깅용 출력을 지웠나요 (느려져요)
- 함수 이름과 반환 형식이 문제 요구와 정확히 일치하나요
라이브 코딩 면접이라면
말없이 코드만 치지 마세요. 접근 방법을 먼저 말하고 동의를 구한 뒤 시작하면, 방향이 틀렸을 때 면접관이 일찍 알려줘요. 브루트포스부터 말하고 개선해 가는 순서가 안전해요. 막히면 솔직히 말하고 힌트를 요청하는 편이 침묵보다 훨씬 나아요.이 다음
24주가 끝이 아니에요. 가장 효과가 큰 후속 훈련은 틀렸던 문제를 다시 푸는 것이에요. 막혔던 주차를 표시해 두었다면 그 주의 패턴 코드부터 손으로 다시 쳐봐요. 새 문제를 계속 푸는 것보다 빠르게 늘어요.모의고사
유형은 알려주지 않아요. 타이머를 걸고 풀어 보세요.셀프 체크
다음 주로 넘어가기 전에 소리 내어 답해 보세요. 막히면 그 부분이 아직 덜 익은 개념이에요.- 제한 조건을 보고 목표 복잡도를 역산하는 습관이 붙었나요?
- 한 문제를 언제 포기하고 넘어갈지 스스로의 기준이 있나요?
- 24주 중 가장 약한 주차 세 개를 꼽을 수 있나요?