scent-jo 소개

2026 카카오 신입공채 코딩 테스트 후기

Engineering Opinion
2026 카카오 신입공채 코딩 테스트 후기

도입

2025년 하반기에 카카오에서 대규모 공채가 열렸다.

한창 취업을 준비하고 있던 나는 “약간의 기대” 를 가지고, 지원을했다.

코딩테스트를 제대로 준비한지 1년이 조금 넘어가는 시점에서 나의 실력을 테스트 해볼 수 있는 기회라고 생각했다.

1차 코딩 테스트

구성 : 알고리즘 7문제

“프로그래머스”에서 1시 ~ 6시, 총 5시간동안 진행되었다.

코테 날짜가 추석 연휴 바로 다음 토요일이라서, 덕분에(?) 추석에 코테 준비를하며 대부분의 시간을 보냈다..!

마음 가짐

다른 회사 대비 긴 5시간 동안 코딩테스트를 보는 것은 처음이라 조금 지치지는 않을까 걱정이 살짝 되기도 했다. 그래도 평소에 대부분의 시간을 앉아서 보냈다보니 크게 신경쓰지 않으려고 했다.

카카오 코딩테스트야 워낙 어렵다고 소문을 많이 들었다보니, 합격을 해야한다는 부담감을 많이 내려놓은 상태로 진행했던 것 같다.

문제 유형

문제 유형과 난이도는 프로그래머스에서 풀어본 기출 문제와 비슷하다고 느꼈다.

문자열, 트리, 그래프, 구현 등의 유형의 문제가 나왔다. 문제를 보면서 전반적으로 느낀 것은 복잡한 알고리즘 보다는 주어진 요구사항에 맞춰, 얼마나 잘 구현 할 수 있느냐!? 를 궁금해하는 의도를 가지고 있다고 느꼈다.

진행 후기

이전의 카카오 코딩테스트 후기를 보면, 3~4문제 정도 풀이를 하면 합격했다는 이야기를 들었고, 평소 문제 하나를 푸는데 1시간은 걸리기에 욕심부리지 않고 최대 4문제를 풀고 나와야겠다고 생각하고 들어갔다.

그래서 처음에 문제를 한번에 쭉 훑어보고, 어떤 문제를 풀지를 먼저 결정했다. 나는 1번 ~ 4번을 푼다는 목표로 시작했다.

사실 긴장이 조금 되었던 것인지.. 1번 문제부터 좀 고생했다.

문제 자체는 “문자열” 관련 문제여서 어렵지는 않았고, 설계 부분에서도 뚝딱 되었지만, 어쩐 일인지 어느 시점부터 결과가 제대로 나오지 않아서 조금 멘탈이 흔들렸던 것 같다.

어느 부분에서 로직이 꼬였는지 확인을 못하고 있어서, 차라리 다 지우고 처음부터 풀어버릴까도 생각했지만…그런 과감함은 쉽사리 하지 못했다.

결국에 1시간 30분을 붙잡고 있다가 안되겠다는 생각에 미뤄두고 다음 문제들을 풀어 나갔다.

*이후에는 긴장을 통해 도파민이 올라간 덕분(?)인지 집중력있게 풀이할 수 있었다. *

2번 문제는 간단한 수학적 아이디어를 가지고 풀 수 있어서 쉽게 풀이한 기억이 있다. 7문제들 중에서 가장 낮은 난이도라는 생각이 든다.

3번 문제는 트리 자료구조와 관련된 문제였다. 주어진 조건에 따라서 리프 노드 수의 최대값을 구하는 문제였다. 이 문제는 DFS를 통해 조건을 잘 따져가며 풀 수 있었다.

4번 문제는 바이러스문제였다. 탐색 관련된 문제에서 자주 풀어본 문제 내용이어서 이해하는데는 크게 어려움을 느끼지 않았다. 하지만, 조건이 까다롭다고 느껴서 조금 어렵게 느껴지기도 한 문제였다. 완전탐색과 DP를 통한 최적화를 통해 다행히 풀이할 수 있었다.

5,6,7번 문제는 풀이하지 않아서 자세히 기억은 안나지만, “빡 구현” 문제였던 걸로 기억한다. 시간이 너무 오래 걸릴 것 같아 패스했다.

결과

결국 나는 7문제 중 3문제 정도 풀이했다. 1번 문제는 끝나기 전까지 “아..될 것 같은데…” 하며 console을 찍어보며 디버깅했지만, 해결하지 못한채 그대로 끝나버리고 말았다.

시험을 보면서 5시간이라는 시간이 흘렀는지도 모른체 몰입해서 시험에 임했던 것 같다.

그래도..3문제는 풀었으니까..하는 마음으로 편하게 결과를 기다렸고, 예상하지 못했는데, 1차 합격이라는 결과를 얻을 수 있었다.

2차 코딩 테스트

구성 : CS 12문제, 알고리즘 5문제

2차 코딩 테스트에 대한 정보는 많이 찾아볼 수 없었다. 기존 공채에서는 API 를 만드는 문제라는 정보를 많이 볼 수 있었다. 그래서 연락 시 미리 준비하라는 연락이 왔다고 한다.

이번 연락에서는 단순히 “CS/코딩 테스트”라고만 전달이 되었기에, 삼성 B형 같은 수준의 최적화 문제가 나올거라는 예측(?)으로 준비했다.

CS 같은 경우는 어떤 내용이 나올지 몰라서 그냥 기존에 공부하며 정리했던 내용을 조금만 훑어보고, 밥먹을 때 기초 강의들을 보며 가볍게 준비했다.

문제 유형

CS는 생각보다 기초적인 내용과 헷갈리는 내용이 객관식으로 출제되었다. 객관식으로 출제되어 몰라도 찍을 수 있다는 안도감이 들었던 것 같다. ㅋㅋㅋ

실제로 CS는 아주..어렵지 않았다. 전공자라면, 대부분 쉽게 맞출 수 있는 문제들이었다. 시간복잡도, 네트워크, 자료구조, 알고리즘 등 쉽게 출제되었다.

알고리즘은 내 예상과 반대로 쉽게 출제되었다. 개인적인 느낌이지만, 1차보다 쉽게 나왔다는 생각이 들었다. 5문제 중에서 엄청 어렵다고 느껴지는 문제는 없었던 것 같다.

백트래킹, 이분탐색, 그리디, 구간합 등의 유형의 문제가 출제 되었다.

진행 후기

진행 방식과, 시간은 1차 코딩 테스트와 약간 달랐다.

시간은 4시간 30분 동안 진행되었으며, 모니토앱을 통해 감독관이 영상으로 감독하는 시스템안에서 진행되었다.

1차때는 조금 자유로움이 있어 물도 간간히 마셨는데, 이번에는 물도 옆에 두지 말라고 해서 미리 타논 커피를 왕창 한번에 마시고 시험을 시작했다.

시험이 시작되고, CS를 빠르게 풀었다. 조금 헷갈리는건 나중에 다시 확인하기 위해 체크했고, 10분 정도만에 12문제를 다 풀이했다.

알고리즘은 5문제를 먼저 다 확인하고, 오 잘하면 4문제는 풀 수 있겠는데? 생각이 들어 신나게 풀이에 들어갔다.

1번 문제는 문제를 읽으면서 조건이 조금 많아보였다. 백트래킹으로 풀면 충분히 풀 수 있을 정도의 문제라도 판단했지만, 1차때의 기억으로 혹시나 시간을 많이 잡아먹을까 걱정되어 넘어갔다.

2번 문제는 조금은 특이한 유형의 문제였다. 이미 완성되어있는 함수가 있는데, 매개변수에 따라서 다른 결과 값을 전달해주는 함수였다. 이 함수를 사용해, 조건에 맞는 답을 찾는 문제였다. 이 문제를 탐색하는데 제한된 비용이 입력으로 주어졌기 때문에, 최소한의 시간복잡도가 필요하다고 생각했다. 그래서 이분탐색을 통해 문제를 해결했다.

3번 문제는 약간의 그리디가 필요한 문제였다. 격자 모양의 땅에서 문제 조건에 맞는 위치를 찾는 것이 포인트였다. 자세히 기억은 안나지만, 가로 세로를 곱한 크기 (N * M = 100,000 ) 이었던 것으로 생각이 난다. 나는 슬라이딩 윈도우 같은 방식을 활용해서 탐색 하면 시간초과는 안날 수 있겠다고 생각하여 사용했다.

$$ O(100,000 * W * H) $$

그래서 탐색하면서 문제의 조건에 맞는 답을 찾도록 그리디를 생각했고, 쉽게 답을 구할 수 있었다.

4번 문제는 구간합을 구하는 문제였다. 입력의 크기가 조금 크다는 생각이 들었지만, 구간 합을 구하는데 기억나는 방법이 세그먼트 트리, 누적합이었는데 세그먼트 트리는 생각이 안나 그냥 쉽게 누적합을 이용했다. 딱히 어렵지 않게 답을 찾는데 성공했고, 엣지 케이스가 있겠지만.. 테스트케이스만 통과하고 넘어갔다.

5번 문제는 “백트래킹”문제였다. 삼성에서 자주 출제되는 구현문제와 아주 유사했다. 문제 조건에 맞는 최적의 답을 찾으면 되는 문제였다. 조건이 많았고, 이 조건에 따라 잘 설계하는 것이 관건이었다.

여기서 조금 난관에 봉착했다.. 분명 설계는 잘했고, 코드도 잘 작성되었다고 생각했는데, 실행하면 런타임에러가 발생하는 것이다… JS 로 풀이해서 그런지…디버깅하기 정말 힘들었다.

// 처음 방식
const arr = [
        [],
        [],
        []
]

// 바꾼 방식
const arr = [[],[],[]]

위와 같이 조건을 미리 정의하는 내용의 코드를 작성했는데, 처음 방식으로 하면서 읽지 못하는 오류가 발생해서, 아래 방식으로 변경해서 코드를 작성했다. 여기서 당황스러움이 조금 많이 느껴졌던 것 같다…ㅋㅋㅋㅋ

또 계속 다른 답이 나오길래, 모든 곳에 console.log 를 찍어가며 디버깅을 했고, 재귀를 통해 전달되는 매개변수가 계속 같은 값 만을 가져오는 것을 알았다. 왜그런지 쭈욱 확인했지만, 이미 많은 시간이 지나서 그런지 집중력도 떨어지고, 찾아내기 쉽지 않았다… 지금 와서 생각해보면 아마 객체 레퍼런스 문제이지 않을까 싶다…ㅠㅠ

결국 5번 문제는 제대로 답을 내지 못하고 제출하게 되었다.

결과적으로 5문제 중 3문제를 풀이했다. 1번과 5번 중에 5번에 더 재밌을 것 같아서 선택해서 집중 공략했는데, 디버깅 이슈로 답을 내지 못해서 아쉬움이 남았다.. ㅠㅠ

결과

결과는 아쉽게도 불합격 연락을 받았다. 주변 친구들과 복기하면서 다들 비슷하게 풀었고, 개인적으로도 나쁘지 않은 결과였다고 생각해서 살짝 기대했지만..아쉬었다.

2차 결과는 서류와 함께 종합해서 나온다고 전달되었는데, 포트폴리오 부분에서 미처 수정하지 못한 부분들이 있어서 걱정이 조금 되긴했다.

비슷하게 풀이한 친구들 중 일부는 합격을 했다는 소식을 듣고나니, 어렵게 잡은 기회를 놓친 것 같아 아쉬움이 크게 다가왔다.

조금만 더 잘 준비했었다면…어땠을까? 하는 생각이 많이들었다.

마무리

처음 참여해본 카카오 신입 공채에서 좋은 경험들을 많이 해본 것 같다. 2차까지 시험을 경험해본 다는 것이 얼마나 큰 영광인지 모른다.

도합 10시간 정도의 코딩 테스트를 보며 시험이지만, 생각보다 즐겁게 참여했던 것 같아 더 아쉬움이 남는 것 같다.

그래도 2차 코딩 테스트까지 달려간게 스스로 대견하다고 칭찬해주고 싶다.

이 경험을 발판 삼아 성장하자.

“아쉬움을 소망으로!”

나는 이 말을 참 좋아한다.

아쉬움은 나의 실력, 게으름, 실수, 실패 등 여러가지 모습일 수 있다.

지금보다 어렸을 때는 작은 실수, 실패 때마다 불안하고, 걱정이 크게 왔지만 그때의 경험들이 지금의 나를 만들어주었다는 것은 변하지 않는 사실이다.

나의 현재는 미래의 나의 과거일 것이고, 현재의 나의 아쉬움은, 미래의 나의 소망이 될 것이다.

이번 “카카오 신입 공채 코딩테스트” 경험은 나의 역량의 아쉬움을 발견한 시간이었다.

학벌, 자격증, 자기소개서, 포트폴리오 등 어떤 부분이 부족했는지 정확히는 알 수 없지만 내가 채워가야 할 영역은 분명하다는 생각이 든다.

미래의 나는 지금보다 훨씬 더 매력적이고, 탁월함을 가지고 있는 사람이길 소망한다. 그래서 정말 모셔가고 싶은 인재의 모습이길 기대한다.

함께 보면 좋은 콘텐츠