[카카오 코딩테스트 후기] 2025 카카오 신입공채 1차 코테 후기

따끈한 카카오 2025 신입 공채 1차 코딩테스트 후기입니다.

코테는 10월 11일(토) 13시 ~ 18시(5시간) 동안 진행되었고 총 7가지 문제가 나왔습니다.
저는 5, 6, 7번 문제는 풀지 못했고 1, 2, 4번 해결, 3번은 4개의 테스트 케이스 중 3개만 맞췄습니다.

문제는 직접적으로 언급이 불가능 하기에 제가 작성한 답안 코드와, 어떤 알고리즘이었는지만 간략하게 정리하고 복기하기 위해 글을 작성해보도록 하겠습니다.

코테 관련 기본 사항

  1. 서류 접수 이후 이메일이 오게 됩니다. 저는 10월 1일 16시에 코테 메일이, 18시에 코테 메일 확인 메일이 왔습니다. 총 10일 정도의 준비 기간이 있었네요. 이건 추석 연휴가 껴서 길었던게 아닐까 싶어요. 카카오는 1차 코테 후 서류 -> 2차 코테 및 면접으로 넘어가는걸로 알고 있습니다.

코딩테스트 이메일

  1. 위의 이미지에서 응시 페이지 바로가기를 누르시면 실제 코테 환경과 유사한 사전확인 페이지가 나오고, 문제가 없다면 종료하고 코테 당일에만 동일한 환경에서 접속하시면 될 것 같아요. 코딩테스트 시작 시간은 13시 정각이었는데 13시 5분까지는 입장 가능하게 풀어줬습니다.
  2. 카카오 코테는 따로 화면 녹화를 하진 않았지만 IDE나 GPT 사용 등은 불가하다고 나와있습니다. 프로그래머스의 기본 코딩 공간에서 문제를 풀어야 합니다. 그래서 평소에 프로그래머스로 문제를 풀어 두는게 도움이 될 듯 합니다.
  3. 문제는 총 7개가 나왔고 5시간 동안 진행됩니다. 푸는 순서는 상관 없지만 숫자가 높아질수록 어려운 문제라고 생각합니다. 5, 6, 7번은 문제 길이부터 어질어질해요...
  4. 기본 세팅은 C언어로 되어있어 본인이 편한 언어로 변경 후 진행하시면 됩니다.

문제 내용 및 풀이

제 풀이 코드를 작성하려고 했는데 안된다고 해서... 말로만 대충 설명하겠습니다.

제가 작성한 풀이 방법은 정답이 아닙니다. 제가 어떻게 문제를 접근하였는지 참고만 해주세요.

 

※ 나중에 유사한 백준 문제를 찾으면 추가 하겠습니다.


1

문제 내용: 특정 단어가 나온적이 있는가.

풀이 방법 : 빡구현

  • 하나의 문장을 (단어, 단어의 시작, 단어의 끝)으로 쪼개서 리스트로 저장
  • 임의의 단어가 특정 단어가 맞는지 판별하는 함수를 만들어서 사용
  • 특정 단어 여부에 따라 서로 다른 리스트에 넣음
  • 마지막으로 전체 문장을 순회하며 각 단어들이
    • 1)특정 단어가 맞는가?
    • 2)특정 단어가 맞다면 등장한 적이 있는가? 를 만족하는지 판단
    • 위의 조건을 모두 만족하는 경우 answer + 1

2

문제 내용 : 주어지는 조건을 몇 초 뒤에 가장 처음으로 만족하는지. 혹은 만족하지 못하는지

풀이 방법 : 주기적인 패턴 간의 동기화 문제. LCM, 빡구현

  • 최소공배수와 최소공약수를 찾는 함수 생성(math의 lcm을 써도 되는데 전 해당 함수를 끝나고 나서 알았습니다)
  • 주기의 사이클을 찾아 겹치는 타이밍이 있는지 확인(겹치는게 하나도 없으면 -1 반환)
  • 사이클 내에서 겹치는 타이밍이 하나라도 있는지 구현하여 찾기
  • 저는 이 타이밍을 찾기 위해 range(1, 사이클+1)을 전부 찾아서 모든 조건을 만족하는 타이밍을 찾았습니다

3

문제 내용 : 어떠한 조건을 만족하면서 리프 노드의 개수가 가장 많은 경우 찾기. 0.3 솔..

풀이 방법: bfs

  • 처음에는 1차원 행렬 그래프로 풀려고 접근하다가 이진탐색트리가 아니라는 것을 알았습니다... 20분 정도 날린 듯
  • 주어지는 조건들을 만족하면서 최대 개수의 리프노드가 몇인지 탐색하는 문제로 그래프를 만든다기보단 BFS로 접근하였습니다.
  • 30% 짜리 테케는 모두 맞았으나 70%짜리 테케는 박살이 나서... 아마 점수가 많이 까일 듯 해요
  • 푸신 분 어떻게 풀었는지 방법 공유 좀 제발....

4

문제 내용 : 양방향 그래프에서 어떤 행동을 했을 때 어디까지 감염이 될 지 찾기

풀이 방법 : 양방향 그래프, 아마 완전탐색? product를 썼으니...?, bfs

  • 그래프 문제입니다. 저는 그렇게 풀었고 itertools의 product 함수를 사용했어요.
    • 주어지는 특정 조건을 만족시키려면 이거 써서 중복 포함 모든 경우의 수를 까봐야 합니다.
  • 양방향 그래프 생성.
    • {i:[] for i in range(101)}로 그래프 만들었습니다.
    • 노드 개수 최대 100이고 양방향 연결 해줬습니다.
  • 이후 bfs 함수를 만들어서 q, visited 등을 사용해서 풀었습니다.
  • bfs 함수를 product와 섞어서 특정 조건을 만족하는 모든 경우의 수를 다 찾았습니다. 주어지는 값들의 범위가 작아 이론상 터지지 않습니다.

5, 6, 7

  • 네.... 1, 2번 합쳐서 1시간 반, 3번에서 2시간 반을 쓰고 4번은 40분 동안 풀었습니다 = 5, 6, 7번은 구경만 하고 끝났다
  • 구경 했을 때 문제 길이와 설명만 봐도 어질어질 했습니다. 엄청나게 길고 어려웠어요. 어떻게 풀지 감도 잡히지 않았습니다

후기

정말 어질어질 했습니다.. 근데 또 오토에버 코테에 비하면 1 ~ 4번은 쉬운 느낌이었습니다.

오토에버 코테는 손에 잡힐 듯 하면서 안잡히는 유형이었다면
카카오 코테는 문제를 읽어보면 풀 수 있다, 없다 각이 보인 듯 합니다.

네이버 인턴 코테는 카카오와 오토에버 코테에 비하면 선녀..

결론
난이도 : 네이버 인턴 <<<< 카카오 1 ~ 4 << 오토에버 <= 카카오 5~

코테 준비 열심히 하자

반응형