모든 강의를 무료로 볼 수 있어요. 회원가입 없이도 학습 가능합니다.

6강 / 전체 6강

코딩 테스트 실전 전략

8분 읽기 조회 0

프로그래머스·백준·리트코드 플랫폼별 출제 경향, 실전 시간 분배 전략, 의사코드 기반 구현 습관, 엣지케이스 체크리스트, 불통과 시 부분 점수 확보 전략으로 코딩 테스트 합격률을 높입니다.

🎯 학습 목표

이 강을 마치면 다음을 할 수 있습니다.

  • 각 코딩 테스트 플랫폼의 특성과 출제 경향을 파악하고 맞춤 준비를 할 수 있습니다.
  • 제한 시간 내에 최다 문제를 해결하는 시간 분배 전략을 실행할 수 있습니다.
  • 의사코드를 먼저 작성하고 구현하는 습관으로 시간 낭비를 줄일 수 있습니다.
  • 엣지케이스를 체크리스트로 자가 검증하고 부분 점수를 확보할 수 있습니다.

🏟️ 플랫폼별 특성과 출제 경향

이 섹션에서는 국내외 주요 코딩 테스트 플랫폼의 특성과 어떤 기업이 어떤 플랫폼을 사용하는지 살펴보겠습니다.

같은 알고리즘 실력이라도 플랫폼 특성을 모르면 실수가 생깁니다. 각 플랫폼은 출제 경향, 채점 방식, 언어 지원이 다릅니다. 지원하는 기업의 플랫폼을 미리 파악해서 익숙하게 만드는 것이 준비의 첫 단계입니다.

프로그래머스 (Programmers)

국내 기업 코딩 테스트의 표준 플랫폼입니다. 카카오, 현대, LG, 롯데, 다양한 스타트업이 사용합니다. 웹 IDE 방식으로 환경 설정이 필요 없고, 자바스크립트·파이썬·자바·C++을 모두 지원합니다. 특징은 함수 형태로 답변하는 구조입니다. 입력을 직접 받는 것이 아니라 함수의 매개변수로 받고 return으로 반환합니다. 레벨 1~5로 구분되며 기업 채용 테스트는 주로 레벨 2~3 수준입니다. 카카오 공채는 레벨 3~4 수준이 나옵니다.

준비 방향: 프로그래머스 레벨별 문제를 풀면서 플랫폼에 익숙해지고, 카카오 공채 기출문제를 반드시 풀어보세요.

백준 (BOJ — Baekjoon Online Judge)

국내 최다 문제 수를 가진 알고리즘 경진대회 스타일 플랫폼입니다. 삼성 SW 역량테스트, 네이버 등에서 유사한 유형을 출제합니다. 표준 입출력(stdin/stdout) 방식을 사용해 입력을 직접 파싱해야 합니다. 이것이 프로그래머스와 가장 큰 차이점입니다. 또한 시간 제한이 엄격해서 파이썬으로 풀 때 시간 초과가 나는 경우가 있어 주의해야 합니다. 다이아몬드·플래티넘 수준의 고난이도 문제도 있지만, 채용 테스트는 주로 실버~골드 수준입니다.

준비 방향: 입출력 파싱 연습이 필수입니다. sys.stdin.readline() 같은 빠른 입력 방법을 미리 익혀두세요.

LeetCode

외국계 기업(구글, 아마존, 마이크로소프트 등)과 글로벌 테크 기업 준비에 필수입니다. 약 3,000개 이상의 문제가 있으며 Easy·Medium·Hard로 구분됩니다. 특징은 테스트 케이스가 자동으로 실행되는 점과, 각 문제마다 Discussion 탭에 최적 풀이 설명이 있습니다. Medium 150문제를 중심으로 한 "NeetCode 150"이나 "LeetCode 75" 같은 curated 목록이 유명합니다.

준비 방향: NeetCode 150을 기준으로 패턴별로 풀어나가는 것이 효율적입니다.

플랫폼주 사용 기업입출력 방식중점 유형권장 목표 수준
프로그래머스카카오, 현대, LG함수 형태구현·완전탐색·DP레벨 2~3 안정
백준삼성, 네이버stdin/stdout그래프·DP·문자열골드 3~5
LeetCode외국계·글로벌함수 형태자료구조·DP·그래프Medium 150

⏱️ 실전 시간 분배 전략

이 섹션에서는 코딩 테스트 당일 제한 시간을 최대한 활용하는 시간 분배 전략을 살펴보겠습니다.

대부분의 코딩 테스트는 2~3시간 안에 3~5문제를 풀어야 합니다. 난이도 분포는 보통 쉬운 문제 1~2개, 중간 문제 1~2개, 어려운 문제 1개입니다. 어려운 문제에 집착해서 쉬운 문제를 못 푸는 것이 가장 흔한 실패 패턴입니다.

실전 시간 배분 전략 — 3시간 5문제 기준

  1. 전체 문제 훑어보기 (5분): 모든 문제를 가볍게 읽고 난이도와 유형을 파악합니다. 어떤 문제가 빠르게 풀릴 것 같은지 우선순위를 정합니다.
  2. 쉬운 문제 먼저 (60분): 빠르게 풀 수 있는 문제를 먼저 해결해 점수를 확보합니다. 목표는 확실한 문제들을 모두 통과시키는 것입니다.
  3. 중간 난이도 문제 (90분): 각 문제에 최대 40~45분을 배정합니다. 이 시간 안에 풀이가 보이지 않으면 다음 문제로 넘어갑니다.
  4. 어려운 문제 시도 (30분): 부분 점수라도 확보하거나, 브루트 포스로라도 일부 케이스를 통과시킵니다.
  5. 검토 (15분): 이미 통과한 문제들의 엣지케이스를 한 번 더 체크합니다.

가장 중요한 규칙은 "한 문제에 40분 이상 투자하지 마라"입니다. 막혀서 시간을 보내는 것은 다른 문제를 풀 기회를 포기하는 것입니다. 표시를 해두고 다음 문제로 넘어가세요. 뒤 문제를 풀다 보면 앞 문제의 힌트가 보이는 경우도 있습니다.

📝 의사코드 먼저 — 구현 전에 설계하는 습관

이 섹션에서는 코드를 짜기 전에 의사코드로 설계하는 습관이 왜 중요한지, 어떻게 작성하는지 살펴보겠습니다.

많은 수험생들이 문제를 읽자마자 코드부터 입력합니다. 이 접근법이 실패하는 이유는 중간에 설계 오류를 발견하면 코드 전체를 지우고 다시 써야 하기 때문입니다. 반면 의사코드를 먼저 작성하면 로직의 흐름을 빠르게 검증하고, 설계 오류를 코딩 전에 잡을 수 있습니다.

의사코드 작성 방법

의사코드는 특정 언어 문법에 구애받지 않고 로직을 자연어로 표현한 것입니다. 예를 들어 이진 탐색을 의사코드로 쓰면 이렇습니다. "left=0, right=n-1 설정 → left가 right 이하인 동안 반복 → mid = (left+right)/2 → arr[mid]가 타겟이면 반환 → arr[mid]가 타겟보다 크면 right = mid-1 → 아니면 left = mid+1 → 루프 후 -1 반환." 이렇게 자연어로 로직을 작성한 후 코드로 번역하면 훨씬 빠르고 실수가 줄어듭니다. 의사코드를 주석으로 먼저 작성해두고 그 아래에 코드를 채우는 방식도 효과적입니다.

🔍 엣지케이스 체크리스트

이 섹션에서는 코드 작성 후 반드시 확인해야 하는 엣지케이스를 체크리스트로 살펴보겠습니다.

많은 경우 로직 자체는 맞는데 엣지케이스를 처리하지 못해서 틀립니다. 다음 체크리스트를 코드 완성 후 반드시 확인하세요.

  • 빈 입력: 배열이 비어있을 때, 문자열 길이가 0일 때.
  • 크기 1 입력: 원소가 하나뿐인 배열, 노드가 하나인 트리.
  • 최대 크기 입력: n이 제약 조건 최대값일 때 시간 초과가 나지 않는가.
  • 음수·0: 음수 입력, 0이 포함된 경우를 처리하는가.
  • 중복 값: 같은 값이 여러 번 있을 때 로직이 맞는가.
  • 정렬·역정렬 입력: 이미 정렬된 배열, 역순으로 정렬된 배열.
  • 오버플로우: 정수 곱셈·덧셈에서 int 범위를 초과하지 않는가. (자바: int 최대값 약 21억)

이 체크리스트를 암기하고 모든 문제 풀이 후에 5분을 투자해 확인하는 습관을 만드세요. 이 5분이 합격과 불합격을 가르는 경우가 많습니다.

🆘 불통과 시 부분 점수 확보 전략

이 섹션에서는 완벽한 풀이가 나오지 않을 때 최대한 많은 점수를 확보하는 전략을 살펴보겠습니다.

대부분의 코딩 테스트는 테스트 케이스 통과 수에 비례한 점수를 줍니다. 최적 해법이 없더라도 일부 케이스를 통과시키면 부분 점수를 받습니다. 이 부분 점수가 합격 여부를 결정하기도 합니다.

부분 점수 전략

  • 브루트 포스 제출: 완전 탐색으로 작은 케이스는 통과시킵니다. 보통 n이 작은 테스트 케이스는 브루트 포스로도 통과됩니다.
  • 특수 케이스 처리: n=0, n=1 같은 극단적 케이스를 하드코딩으로 먼저 처리합니다.
  • 부분 문제만 해결: 문제의 요구사항이 두 단계라면 첫 단계만 완성해도 일부 케이스는 통과됩니다.
  • 컴파일 에러 없이 제출: 로직이 틀려도 컴파일만 되면 케이스 통과 가능성이 있습니다. 아무것도 제출하지 않는 것보다는 낫습니다.

가장 중요한 것은 포기하지 않는 것입니다. "이 문제는 못 풀겠다"라고 생각해서 빈칸으로 내는 것이 가장 나쁩니다. 브루트 포스라도, 의사코드를 주석으로 남기더라도, 뭔가를 제출하세요.

📝 핵심 요약

6강에서 배운 내용을 정리해 보겠습니다.

전략핵심 행동
플랫폼 파악지원 기업 플랫폼 파악 → 미리 익숙해지기
시간 분배훑어보기 → 쉬운 것 먼저 → 한 문제 40분 상한
설계 우선의사코드 → 코드 순서, 코드부터 짜지 않기
엣지케이스빈값·크기1·최대값·음수·중복·오버플로우 체크
부분 점수브루트 포스 제출, 포기 없이 반드시 무언가 제출

다음 강인 7강 — 시스템 설계 기초에서는 주니어~미드 레벨 면접에서도 등장하기 시작한 시스템 설계 질문에 답하는 프레임워크를 완전히 익힙니다. "URL 단축 서비스를 설계하세요" 같은 질문에 막히지 않는 방법을 알아봅니다!

관련 주제

  • 프로그래머스
  • 백준
  • 리트코드
  • 시간 분배 전략
  • 의사코드 작성
  • 엣지케이스 체크리스트
  • 취업
  • 취업 강의
  • 개발자 취업 면접 전략 12강
  • 무료강의
  • 무료 온라인 강의
  • NUGUNA
  • 누구나

📚 시리즈 전체 공유

개발자 취업 면접 전략 12강

이 강의가 속한 시리즈는 총 6강, 모두 무료입니다. 처음부터 배우려는 동료에게 시리즈 전체를 알려 주세요.

댓글

0/1000

불러오는 중...