Covenant

코딩테스트 시작을위한 백준문제 추천



Source. Pixabay Philipp Kleindienst

시작하며


본 글은 코딩테스트를 시작하는 분들을 위한 글입니다. 올해 초 코딩테스트 대비를 위한 백준 문제 추천글을 작성하였습니다. 본 글은 어느정도 알고리즘 공부가 된 전공 4학년이 빠르게 코딩테스트 대비를 하기 위해서 실전에 나올법한(실제로 나왔던)스타일의 어느정도 난이도 있는 문제들을 추천하는 글을 작성했습니다. 본 글을 읽고 취업 준비를 일찍 하고 싶어하는 대학교 2, 3학년 그리고 알고리즘 공부를 이제 막 시작하는 막막한 취업 준비생들에게서 어떤 문제를 풀어야하는지 모르겠다는 요청을 받았습니다. 몇몇 코딩테스트 대비 방법을 설명한 유명한 글에서 알고리즘 문제를 추천하지만 생각보다 취준용으로 공감할 수 없는 문제도 많이 보였습니다. 8학기 뒤늦게 코딩테스트 공부를 시작해서 20번의 코딩테스트를 보았던 경험을 살려 코딩테스트를 이제 막 시작하는 분들 에게, 취업이라는 장애물을 넘고 싶지만 코딩테스트가 막막한 분들을 위해 최적의 문제를 추천해드립니다.



📣 공지: 코딩테스트 완벽 정복 로드맵 공개!



로드맵 보러가기!


기초

인터넷에 코딩테스트 준비를 위해서 검색해보면 백준 사이트를 추천해줍니다. 그래서 백준 사이트에 접속했더니 반겨주는 것은 수 많은 문제들. 이 중에서 어떤 문제를 풀어야할지 막막할 것입니다. 현재 글에서 코딩테스트 공부 시작을 위한 백준 문제를 추천해드립니다. 코딩테스트를 통과하고 1차 면접에서 제출한 코딩테스트를 리뷰하기 때문에 파이썬으로 코딩테스트를 준비한다면 코딩테스트에 최적화된 Pythonic한 코드를 작성해야합니다. 용감하게 시작하는 코딩테스트를 참고하세요!




도약

코딩테스트가 어려운 회사에 도전한다면 코딩테스트 대비를 위한 백준 문제 추천를 꼭 풀어봐야합니다. 실제 시험에서 만날 수 있는 챌린지한 문제를 넣었습니다. 주제별 학습으로 코딩테스트에 빈출되는 주제와 뼈대 문제를 담았습니다. 특정 주제에 약하다면 꼭 뼈대문제부터 다져보세요.



특히 제가 쓴 dfs, bfs 글은 Google 첫 번째에 올라와있는 구글 알고리즘이 선택한 양질의 글입니다.




실전


코딩테스트 고득점 Kit는 기업 코딩테스트를 보고 제일 유사한 난이도, 아이디어를 사용한 문제를 모아둔 것입니다. 가장 실전과 유사한 난이도이며 많은 분들의 공감을 받아 현재도 높은 조회수를 기록하고 있습니다. DFS, BFS 문제는 꾸준히 코딩테스트에 출제됩니다. 시험전에 기초부터 다소 까다로운 문제까지 연습할 수 있도록 문제와 풀이를 담았습니다.




무엇을 공부할 것인가?


취업을 위한 코딩테스트 대비 글을 검색하면 '완전 탐색 중심으로 공부해라', '하나의 알고리즘 주에의 문제를 50문제 이상 풀어봐라' 등등의 글들을 봅니다. 그러나 최근 2년간 출제되었던 알고리즘 주제를 확인해보세요.



회사 알고리즘
네이버(2020 하반기) 구현, 시뮬레이션, BFS, DP, 완전탐색
삼성(2020 하반기) BFS, 시뮬레이션
삼성(2020 상반기) BFS, 시뮬레이션
카카오(2021 블라인드 1차) 투포인터, 완전탐색, DP, 트라이, 파싱, 최단경로, 이분탐색
카카오(2020 하반기) 구현, 문자열
카카오(2020 블라인드) 문자열, 재귀, 탐색, 트라이, 구현, 완전탐색, BFS
카카오(2020 카카오 인턴십) 구현, 완전탐색, 투포인터, BFS, DFS, 트리, 유니온파인드
카카오(2019 블라인드) 배열, 해싱, map, 정렬, 조합, DFS, 정렬, 시뮬레이션, 트리 순회, 구현
카카오(2019 카카오 개발자 겨울 인터십) BFS, 세그먼트 트리, 완전탐색, 자료구조, 다익스트라
카카오(2018 블라인드 3차) 구현, 정렬,문자열,트라이
카카오(2018 블라인드 1차) Bitwise, 문자열, 구현, 정렬, 시뮬레이션, 스케쥴링
라인(2020 하반기) 구현, 문자열, 시뮬레이션, 덱
라인(2019 상반기) 구현, BFS, DFS, DP
NHN(2020 하반기) 모노톤 스택, 그래프
NHN(2019 1차 면접) 플러드 필
NHN(2019 코테) 구현, 시뮬레이션
NHN(2018 1차 면접) Trie, 비트마스킹
NHN(2018 코테) 구현, 시뮬레이션
모비스(2019) DFS, DP
신한(2020 상반기) BFS, 시뮬레이션
신한(2020 하반기) 유니온파인드, 문자열, 우선순위큐, 완전탐색, [SQL]
쿠팡(2020) 정렬, 위상정렬, 트리DP, 해싱(Map)
현대 오토에버 문자열, DP, 순열조합
SK C&C Heap, 구현, 순열, BFS
파수 트리, 조합, 파싱, 구현

완전 탐색 문제가 자주 나오는 것은 사실입니다. 그러나 완전탐색만 파서는 코딩테스트 관문을 넘을 수 없습니다. 하나의 주제를 50문제 이상 풀었다간 800문제는 족히 풀어야할 것입니다. 백준에서 800문제 이상 풀면 랭킹 1000위 안에 듭니다. 역대 컴공 졸업자가 1000명은 족히 넘을테니 이정도 이상 풀 필요는 없어 보이긴합니다.



공부해야할 주제


  • ⭐⭐⭐ 구현
  • ⭐⭐⭐ 자료구조: 우선순위 큐, 스택, 트리
  • ⭐ 순열조합 활용
  • ⭐ 진법
  • ⭐⭐⭐ DFS, BFS
  • ⭐⭐⭐ 투포인터
  • ⭐⭐⭐ 최단거리
  • ⭐⭐ 브루트포스
  • ⭐⭐ 다이나믹 프로그래밍
  • ⭐⭐ 시뮬레이션
  • ⭐ Union Find
  • ⭐⭐⭐ 문자열(정규식, 조작, 탐색)
  • ⭐⭐⭐ 이분탐색
  • Trie
  • Flood fill
  • 미트 마스킹
  • 위상정렬
  • 세그먼트 트리

어떤 회사도 코딩테스트에 어떤 주제가 나오는지 않습니다. 할수 있는 것은 지금까지 출제되었던 알고리즘 주제 중에서 역으로 무엇이 자주 나왔는지 살펴보는 수밖에 없습니다. 제가 중요하다고 생각하는 주제에 대해서 ⭐을 남겨 보았습니다. 처음 공부를 시작하시거나 빠르게 준비해야 하는 분들은 ⭐를 중심으로 준비하시면 됩니다.



코딩테스트 시작을 위한 문제 추천


시작하는 분들을 위한 문제 추천입니다. 쉽다면 바로바로 다음 난이도의 문제로 넘어가면 됩니다. 백준 난이도는 solved.ac를 따릅니다.



시작 & 구현




스택 / 큐




그래프 탐색







투포인터