커리큘럼/페이즈 4 · 심화 알고리즘
24주차체크포인트

최종 모의고사와 실전 전략

아는 것을 시험장에서 점수로 바꾸는 법이에요.

개념

여기까지 왔다면 도구는 충분히 갖췄어요. 마지막 주는 새 알고리즘이 아니라 가진 것을 시험 시간 안에 점수로 바꾸는 방법이에요. 실력이 같아도 이 부분에서 결과가 크게 갈려요.

시험 시작 후 첫 10분

  1. 모든 문제를 훑어 읽어요. 순서대로 풀 이유가 전혀 없어요
  2. 각 문제 옆에 체감 난이도와 짐작되는 유형을 적어요
  3. 제한 조건에서 목표 복잡도를 역산해요 (1주차 표)
  4. 쉬운 것부터 확실히 맞히는 순서를 정해요
제한 조건 역산은 특히 중요해요. n ≤ 20이면 완전 탐색, n ≤ 5,000이면 O(n²) 허용, n ≤ 200,000이면 정렬이나 이분 탐색, n이 천만이면 한 번 순회. 이 판단을 코드 쓰기 전에 끝내면 헛수고를 막아요.

시간 배분

상황행동
한 문제에서 20분 경과, 아이디어 없음표시하고 다음 문제로
아이디어는 있는데 구현이 안 끝남10분 더 주고 안 되면 넘어감
전부 한 바퀴 돌았다가장 가까웠던 문제로 복귀
남은 시간 20분부분 점수와 제출 상태 점검

부분 점수 전략

많은 플랫폼이 테스트 케이스별로 점수를 줘요. 최적해가 안 떠오르면 브루트포스라도 제출해요. 작은 입력의 케이스는 통과해요. 0점과 40점은 큰 차이예요.
  • 느려도 맞는 풀이를 먼저 완성하고, 시간이 남으면 최적화해요
  • 예외 처리가 안 끝났어도 일단 제출해 두고 개선해요
  • 빈 함수로 두지 마세요 — 아무 값이라도 반환하면 맞는 케이스가 있을 수 있어요

제출 전 점검

  1. 예제를 전부 넣어 봤나요
  2. 입력이 비었을 때, 크기가 1일 때는요?
  3. 인덱스 경계 — -1이나 길이에 닿는 곳은 없나요
  4. 디버깅용 출력을 지웠나요 (느려져요)
  5. 함수 이름과 반환 형식이 문제 요구와 정확히 일치하나요

라이브 코딩 면접이라면

말없이 코드만 치지 마세요. 접근 방법을 먼저 말하고 동의를 구한 뒤 시작하면, 방향이 틀렸을 때 면접관이 일찍 알려줘요. 브루트포스부터 말하고 개선해 가는 순서가 안전해요. 막히면 솔직히 말하고 힌트를 요청하는 편이 침묵보다 훨씬 나아요.

이 다음

24주가 끝이 아니에요. 가장 효과가 큰 후속 훈련은 틀렸던 문제를 다시 푸는 것이에요. 막혔던 주차를 표시해 두었다면 그 주의 패턴 코드부터 손으로 다시 쳐봐요. 새 문제를 계속 푸는 것보다 빠르게 늘어요.

셀프 체크

다음 주로 넘어가기 전에 소리 내어 답해 보세요. 막히면 그 부분이 아직 덜 익은 개념이에요.
  1. 제한 조건을 보고 목표 복잡도를 역산하는 습관이 붙었나요?
  2. 한 문제를 언제 포기하고 넘어갈지 스스로의 기준이 있나요?
  3. 24주 중 가장 약한 주차 세 개를 꼽을 수 있나요?