[[분류:알고리즘]] [목차] == 개요 == 코딩 테스트는 [[알고리즘]] 문제를 푸는 시험을 말한다. 코테라고 줄여서 부르기도 한다. 시험 응시자들은 해당 문제를 해결하는 컴퓨터 프로그램을 작성하고, 소스 코드를 온라인 판정(Online Judge) 프로그램에게 제출해야 한다. 온라인 저지 프로그램은 미리 준비되어 있는 테스트 케이스들을 자동화된 방식으로 채점한다. 카카오, NHN, 삼성전자 등의 주요 IT 관련 기업들이 프로그래머를 채용하기 위한 시험 방식의 하나로 활용하고 있다. == 온라인 저지 == 코딩 테스트를 준비하고 연습하기 위한 온라인 저지 서비스를 제공하는 사이트들이 많이 있다. === 국내 === [[https://acmicpc.net|백준 온라인저지]]: [[Baekjoon OJ]] [[https://algospot.com|알고스팟]] [[https://programmers.co.kr|프로그래머스]] [[https://swexpertacademy.com|SW Expert Academy]] === 해외 === [[https://codeforces.com/|Codeforces]]: 코드포스 [[https://www.topcoder.com/|TopCoder]]: 탑코더 [[https://leetcode.com/|LeetCode]]: 리트코드 == 출제 유형 == === 프로그래머스의 분류 === 프로그래머스 사이트의 코딩테스트 고득점 Kit[* [[https://programmers.co.kr/learn/challenges|프로그래머스 코딩 테스트 고득점 Kit]]]를 보면 코딩 테스트에 나오는 문제 유형을 이렇게 분류해 놓았다. * [[해시]] * [[스택]]/[[큐]] * [[힙]](Heap) * [[정렬]] * [[Brute Force|완전 탐색]] * [[탐욕법]] (Greedy) * [[동적계획법]] (Dynamic Programming) * [[깊이 우선 탐색]] / [[넓이 우선 탐색]] (DFS/BFS) * [[이진 탐색]] * [[그래프]] === 백준의 분류 === 백준 온라인 저지 사이트의 알고리즘 분류도 참고할 만 하다. 백준 온라인의[* [[https://www.acmicpc.net/step|백준 온라인 저지 단계별로 풀어보기]]]에서 알고리즘 분류의 항목만 뽑아보면 다음과 같다. * [[수학]] --형이 왜 여기에...-- * 문자열 * [[재귀]] * [[브루트 포스]] * [[정렬]] * [[백트래킹]] * [[동적 계획법]] * [[그리디 알고리즘]] * [[스택]] * [[큐(자료구조)|큐]]와 [[덱]] * [[분할 정복법]] * [[이진 탐색]] * [[큐(자료구조)#s-3.2|우선순위 큐]] * [[깊이 우선 탐색|DFS]]와 [[넓이 우선 탐색|BFS]] * 최단 경로: [[다익스트라 알고리즘]], [[플로이드-워셜 알고리즘]] * 투 포인터 * [[트리(그래프)|트리]] * [[유니온 파인드]] * [[최소 비용 신장 트리 알고리즘|최소 신장 트리]] * 위상 정렬 * 세그먼트 트리 * 이분 매칭 * 네트워크 플로우 === SW Expert Academy의 분류 === SW 엑스퍼트 아카데미 사이트에서는 Reference Code[* [[https://swexpertacademy.com/main/code/referenceCode/referenceCodeList.do?#none|SW 엑스퍼트 아카데미의 레퍼런스 코드]]]를 제공하는데, 이 레퍼런스 코드의 분류를 보면 다음과 같다. * [[스택]] * [[재귀]] * [[큐(자료구조)|큐]] * [[큐(자료구조)#s-3.2|우선순위 큐]] * [[해시]] * [[트리(그래프)|트리]] * [[그래프]] * [[연결 리스트]] * [[삽입 정렬]] * [[퀵 정렬]] * [[정렬 알고리즘#s-2.4.2|카운팅 정렬]] * [[이진 탐색]] * [[깊이 우선 탐색|DFS 탐색]] * [[넓이 우선 탐색|BFS 탐색]] * 파라미터 탐색 * [[동적 계획법]] * [[순열]]과 [[조합]] * [[다익스트라 알고리즘]] == 코딩 테스트를 실시하는 기업 == === 국내 === [[https://careers.kakao.com//|카카오]] [[https://recruit.navercorp.com/naver/recruitMain|네이버]] [[https://careers.linecorp.com/ko/|라인]] [[https://swexpertacademy.com/main/capacityTest/main.do|삼성그룹]]: 삼성 SW 역량 테스트 === 해외 === [[https://google.com/|Google]]: 구글 [[https://facebook.com/|Facebook]]: 페이스북 [[https://netflix.com/|Netflix]]: 넷플릭스 == 코딩 테스트 공부를 위한 책 == 코딩 테스트를 공부하기 위해서는 먼저 [[자료구조]]와 [[알고리즘]]과 같은 [[컴퓨터 과학]]의 기초 과목들을 열심히 공부해야 한다. 하지만 정해진 시간 내에 주어진 문제들을 오류없이 해결해야 하므로, 어느 정도 문제 풀이 훈련을 해야만 한다는 것이 정설이다. 코딩 테스트 공부에는 기존의 [[국제정보올림피아드]], [[한국정보올림피아드]] 등의 프로그래밍 경진대회 준비를 위한 책들도 분명히 도움이 된다. * [[http://www.yes24.com/Product/Goods/8006522|알고리즘 문제 해결 전략 세트]]. 구종만. 인사이트. 2012년 11월 하지만 2020년을 기점으로 코딩 테스트 준비용으로 국내에서 책들이 출간되기 시작했다. * [[http://www.yes24.com/Product/Goods/91084402?OzSrank=1|파이썬 알고리즘 인터뷰]]. 박상길. 책만. 2020년 7월. * [[http://www.yes24.com/Product/Goods/91433923|이것이 취업을 위한 코딩 인터뷰다 with 파이썬]]. 나동빈. 한빛미디어. 2020년 8월 위에서 언급된 책들에 대해서 비교 연구를 한 [[https://youtu.be/PoenMl46ht0|유튜브 동영상]]도 있다.[* [[https://youtu.be/PoenMl46ht0|코딩 테스트에 공부에 좋은 책: 비교연구]]]