Kim-Baek 개발자 이야기

카카오 공채 코딩테스트 유형 완전 분석 및 공부 방법 본문

기타/취업준비

카카오 공채 코딩테스트 유형 완전 분석 및 공부 방법

김백개발자 2021. 8. 24. 23:21

안녕하세요. 2022 카카오 신입 개발자 공채를 현재 모집하고 있습니다. 대기업들이 공채를 점점 안하고 있는 시점에 정말 반가운 채용 소식인 거 같아요.

카카오는 특이하게 처음에 서류전형이 따로 없습니다. 맨 처음 전형이 코딩테스트이고, 이걸 통과한 사람들에 한해서 입사지원서를 작성하고 제출하게 되는 구조입니다. 

지원하는 모든 사람이 코딩테스트에 응시하기 때문에, 그 만큼 난이도가 어렵기로 유명하고, 또 카카오에서도 엄청 중요하게 생각하고 있다는 뜻으로 보입니다.

카카오 코딩테스트는 9월 11일에 시작되는데, 얼마남지 않은 기간동안 어떤 거를 공부해야 되는지를 모르는 분들이 많은 것 같아서 카카오 코딩테스트를 분석해보고자 합니다. 예전에 수능공부를 해보셨다면, 기출문제를 분석하고 풀어보는게 정말 중요하잖아요? 그것처럼 카카오 공채 기출문제를 분석해보고, 이 내용을 따라해서 공부한다면 좋은 결과 있을 겁니다😗

2021 카카오 신입공채 1차 온라인 코딩테스트 분석


각각 문제가 어떤 알고리즘 or 자료구조를 사용해서 풀어야하는 지, 정리해보려고 하고, 기출문제를 풀 수 있는 링크도 같이 넣어놓을 테니 참고해서 풀어보면 도움이 될 거에요.

문제 번호 문제 이름 알고리즘 & 자료구조 링크 정답률(효율성) 비고
1번 아이디 추천 문자열 문제 풀기 57%  
2번 메뉴 리뉴얼 문자열 문제 풀기 25.4%  
3번 순위 검색 바이너리 서치 문제 풀기 44%(4.49%) 효율성
4번 합승 택시 요금 다익스트라, 플로이드 워셜 문제 풀기 9.6%(7.45%) 효율성
5번 광고 삽입 부분 합 문제 풀기 1.23%  
6번 카드 짝 맞추기 시뮬레이션 ( BFS ) 문제 풀기 0.85%  
7번 매출 하락 최소화 트리, 다이나믹프로그래밍 문제 풀기 0.57%  

문제를 풀어보면 알겠지만, 어떤 알고리즘&자료구조를 쓸 지는 제공하는 그림에서 힌트가 주어진다고 보면 된다.

합승 택시 요금

4번의 합승 택시 요금에서 주어지는 그림이다. 그래프가 있고, 가중치 값들이 주어지는 것을 볼 수 있는데, 그러면 그래프 최단거리를 구하는 다익스트라나 플로이드 워셜이 쓰이겠구나라고 유추가 가능하다.

카드 짝 맞추기

6번의 카드 짝 맞추기에서 주어지는 그림이다. 어떤 커맨드에 따라서 값들이 변화고, 결과를 구해내는 문제이다. 이런 유형은 삼성전자에서 가장 좋아하는 문제인데, 주어진 조건을 그대로 코딩으로 잘 구현하는 문제라고 볼 수 있다. 이런 격자 ( 미로 ) 에서 최소값을 구하게 되면 BFS가 보통 쓰인다.

매출 하락 최소화

7번 문제에서 주어지는 그림이다. 이미 그림에서 부터 트리모양으로 생긴 것을 알 수 있다. 이렇게 그림만 봐도 어떤 알고리즘이나 자료구조를 쓸 지 예상이 되기 때문에, 문제를 먼저 훓어보면서 내가 잘 풀 수 있는 유형인지 체크해보는 것도 방법이다.

2020 카카오 신입공채 1차 온라인 코딩테스트 분석


문제 번호 문제 이름 알고리즘 & 자료구조 링크 정답률(효율성) 비고
1번 문자열 압축 문자열 문제 풀기 25.9%  
2번 괄호 변환 재귀 문제 풀기 23.1%  
3번 자물쇠와 열쇠 이차원 배열, 완전탐색 문제 풀기 7.4%  
4번 가사 검색 trie 문제 풀기 34.4%(0.8%) 효율성
5번 기둥과 보 설치 시뮬레이션 문제 풀기 1.9%  
6번 외벽 점검 완전탐색 문제 풀기 0.6%  
7번 블록 이동하기 BFS 문제 풀기 0.57%  

블록 이동하기

7번 문제인 블록 이동하기의 그림이다. 격자가 나오고, 미로처럼 빠져나가는 그림이니 BFS를 쓰겠구나라고 바로 생각할 수 있다. 비슷하게 2021년에도 나온 것을 아까 확인할 수 있었다.

알고리즘 빈도 정리


알고리즘 빈도
문자열 3
시뮬레이션  2
BFS 2
완전 탐색 2
재귀 1
이차원 배열 1
trie 1
트리 1
다이나믹 프로그래밍  1
다익스트라/플로이드 워셜 1
부분 합 1

최근 2년동안 가장 많이 출제된 항목은 문자열과 시뮬레이션입니다. 특히 문자열은 초반 문제에서 나오기 때문에 확실하게 익혀둬서 빠르게 풀고 다음 문제로 넘어가는 것이 중요해보입니다.

주목해서 봐야할 점은 파란색으로 칠한 항목들입니다. 특별한 알고리즘이 아니라 정확한 구현을 요구하는 항목들을 칠해놨는데, 대부분의 빈도 수가 높은 것을 볼 수 있습니다. 이런 문제들을 풀어보면서 정확한 구현을 하는 실력을 키우는 것이 좋아보입니다.

그리고 BFS 가 빈도수가 높았으니 해당 항목들의 문제를 풀어보고 나머지 항목들도 연습하면 좋은 결과가 있을 것이라 예상됩니다.

이 글을 보시는 모든 분들이 1차 코딩테스트를 합격하길 바랍니다 😎

 


 

반응형
Comments