第6講

코딩 테스트 실전 전략 — 플랫폼부터 시험장까지

3 閲覧 1

국내외 코딩 테스트 플랫폼 특성을 파악하고, 시험장에서 시간 배분, 언어 선택, 부분 점수 전략, 막혔을 때 대처법 등 합격자들이 공유하는 실전 노하우를 모두 담았다.

이번 강에서 배울 것

  • 국내외 코딩 테스트 플랫폼 비교
  • 언어 선택 — 무엇으로 응시해야 유리한가
  • 시험 중 시간 배분 전략
  • 부분 점수 전략 — 못 풀어도 점수 받는 방법
  • 자주 실수하는 함정 유형 5가지

주요 코딩 테스트 플랫폼 비교

플랫폼주요 기업특징연습 방법
프로그래머스카카오, 당근, 토스브라우저 IDE, 테스트 케이스 일부 공개level 1~3 순서대로
백준(BOJ)네이버, 라인, 삼성채점 서버 제출, 다양한 언어 지원단계별 문제집
LeetCode구글, 메타, 아마존영어, 전 세계 표준, 토론 활발Easy 50 → Medium 100
HackerRank외국계 스타트업영어, 여러 도메인 지원Interview Kit
코딜리티국내외 중견 기업시간 제한 엄격, 시간 측정 있음Lesson 섹션

언어 선택 전략

Python 추천 이유:
- 코드 길이 30~50% 짧음 (같은 시간에 더 많이 구현)
- 내장 자료구조 풍부: collections.deque, heapq, Counter
- 정수 오버플로우 걱정 없음 (자동 bigint)
- LeetCode, 프로그래머스 모두 지원

Python 주의점:
- 실행 속도 Java/C++보다 5~10배 느림
- n=10^7 이상 문제에서 시간 초과 주의
- PyPy3 지원 시 반드시 PyPy3 선택 (2~3배 빠름)

Java/C++ 선택할 때:
- 속도가 중요한 알고리즘 문제 (BOJ, 삼성 SW 역량)
- 회사에서 사용하는 주력 언어가 Java/C++일 때

한 언어로 일관하는 것을 권장:
언어별 입출력, 자료구조 사용법이 다름
시험 중 언어를 바꾸면 시간 낭비

시험 중 시간 배분 전략

기본 원칙: 쉬운 문제 먼저, 어려운 문제는 나중에

3문제 / 2시간 기준:
처음 10분: 3문제 모두 훑어보기, 난이도 파악
40분: 가장 쉬운 문제 완전 풀기
40분: 두 번째 문제 풀기
30분: 세 번째 문제 도전 / 부분 점수 확보

막혔을 때 체크리스트:
[ ] 문제를 다시 정확히 읽었는가?
[ ] 예시 입력을 손으로 따라가 봤는가?
[ ] 더 단순한 Brute Force 접근은 없는가?
[ ] n 크기를 확인했는가?
[ ] 엣지 케이스를 놓치지 않았는가?

10분 이상 완전히 막히면:
Brute Force로 작동하는 코드 먼저 제출
가능한 테스트 케이스라도 통과시켜 부분 점수 확보
다음 문제로 이동 후 시간이 남으면 돌아오기

부분 점수 전략

많은 플랫폼이 부분 점수 제공:
프로그래머스: 테스트 케이스별 통과 수
LeetCode: 통과/실패 (부분 점수 없음, 연습 용도)
삼성 SW 역량: 테스트 케이스별 점수

부분 점수 확보 방법:

1. 작은 입력 범위만 통과하는 코드 제출
   n <= 1000일 때 O(n^2) 코드 먼저 제출
   이후 n <= 100000 케이스 추가 최적화

2. 특수 케이스 하드코딩
   "n=1일 때 결과는 항상 0" 같은 케이스 조건문 처리

3. 완성되지 않아도 컴파일 되는 코드 제출
   런타임 에러보다 Wrong Answer가 부분 점수 받기 쉬움

자주 실수하는 함정 유형 5가지

1. 정수 오버플로우
   Java/C++: int 최댓값 2^31-1 = 약 21억
   두 int 곱하면 넘칠 수 있음 → long 사용
   n=10^5, 비용=10^5이면 합은 10^10 → int 불가

2. 배열 인덱스 범위 초과
   arr[i+1] 접근 시 i+1 < len(arr) 확인
   while문에서 포인터가 배열 끝 벗어나는 경우

3. 빈 배열/단일 원소 처리 누락
   if not arr: return 0
   if len(arr) == 1: return arr[0]
   항상 엣지 케이스 먼저 처리

4. 정렬 후 인덱스 의미 변화
   정렬 전 저장한 인덱스가 정렬 후 무효화
   원래 인덱스 필요 시 (value, original_index) 튜플로 저장

5. 방문 표시 누락 (그래프 문제)
   BFS/DFS에서 visited 배열 없으면 무한 루프
   큐에 넣을 때 즉시 방문 표시 (dequeue할 때 표시하면 중복 삽입 발생)

코딩 테스트 D-7 준비 체크리스트

D-7:
[ ] 응시 플랫폼에서 샘플 문제 환경 테스트
[ ] 언어 결정 및 입출력 템플릿 준비
[ ] 주요 자료구조 import/선언 방법 숙지

D-3:
[ ] 해당 기업 기출 문제 검색하여 패턴 파악
[ ] 자주 쓰는 알고리즘 코드 복습
[ ] 본인 최대 2시간 집중 가능한 시간대 확인

D-1:
[ ] 새로운 문제 풀지 않기 (오히려 긴장 유발)
[ ] 충분한 수면
[ ] 시험 링크, 접속 방법 미리 확인

당일:
[ ] 응시 30분 전 환경 점검 (IDE, 인터넷)
[ ] 물, 간식 준비
[ ] 타이머 준비

강의 핵심 요약

  • Python이 유리: 코드 짧고, bigint 자동, 단 PyPy3 지원 시 반드시 선택
  • 막혔을 때: Brute Force 부터 제출해 부분 점수 확보 후 최적화
  • 5대 함정: 오버플로우 / 인덱스 초과 / 빈 배열 / 정렬 후 인덱스 / 방문 표시
  • 다음 강: 시스템 설계 면접 — 대규모 서비스 설계 접근법

관련 검색어  ·  코딩 테스트 전략, 프로그래머스 코딩 테스트, LeetCode 전략, 코딩 테스트 언어 선택, 코딩 테스트 부분 점수, 코딩 테스트 실수, 개발자 코딩 테스트

채용정보
공지사항
인사이트
MY