본문 바로가기

코딩테스트

코딩테스트란?

코딩테스트

  • 시간 안에 주어진 문제를 푸는 시험
  • 적절한 알고리즘을 선택해서 문제 해결

각 알고리즘의 이해

  • 개념 이해
  • 기본 문제, 코드 따라해보기
  • 안보고 작성할 정도로 외우기
  • 다른 문제 풀어보기(각 10문제씩 정도)

실전 노출

  • 한문제에 30분 넘지 않게 풀이
  • 매일 알고리즘별로 돌아가면서 풀기
  • 풀이 방법이 아예 떠오르지도 않을 경우 구글링으로 풀이 검색
  • 오답노트 작성

어떤 알고리즘을 선택했는지는 중요하지 않다. 선택한 이유, 풀이 방법과의 연결 과정을 설명하자.

필수 알고리즘

  • BFS
  • DFS
  • 백트래킹
  • 시뮬레이션
  • 이진탐색
  • Greedy
  • DP
  • MST
  • 다익스트라
  • 플로이드

코딩테스트 풀이 방법

  1. 풀기전 최대한 구체적 계획 작성
  2. 다음 세가지 주석으로 써보고 문제 풀이
    • 아이디어 : 문제를 어떻게 풀것인지, 어떤 알고리즘을 사용할 것인지
    • 시간복잡도 : 내가 설계한 방법이 오래걸리는지(연산이 2억개가 넘어가는지 확인)
    • 자료구조 : 자료 구조를 어떻게 사용할것인지. 숫자의 경우 최대자리에 따라서 int를 쓸것인지 등 생각.

공부 환경

  • 백준, 프로그래머스
  • IDE에서 작성 후 복붙 불가
  • Debugger 사용 불가. console 출력으로 연습하기