2021년 4월 카카오에서 하계 인턴을 모집했습니다!
tech.kakao.com/2021/04/15/2021-summer-internship/
2020년에 알아봤을 때는 서류접수를 진행한 후 코딩테스트를 진행한 것으로 기억하고 있습니다. 그 때도 지원해보고 싶었지만 졸업이 많이남아서 지원을 못했었습니다.
이번 2021년에는 코딩테스트 먼저 진행한 후 서류면접을 진행하는 것 같습니다. 제가 생각하기에도 서류면접을 먼저하면 모든 대상에게 서류 면접을 진행한 후 코딩테스트를 진행해야 되므로 서류면접에서 기업적으로 많은 코스트가 발생할 것 같습니다. 코딩테스트를 진행한 후 합격자를 대상으로 서류면접을 진행하는 것이 기업적 방면이나 지원자 방면에서도 훨씬 효율적인 진행이라 생각됩니다.
코딩테스트 전에 많이 긴장됬습니다. 제가 보는 첫 코딩테스트 이기도 하고 제가 가장 좋아하는 라이언이랑 춘식이가 있는 카카오 코딩테스트니까요! 첫 문제를 풀 때 출력값이 int 타입이어야 하는 문제에서 solution 함수의 반환값이 출력이 되는줄도 모르고 함수가 끝난후 함수의 반환값을 변수에 저장해 그걸 str타입으로 변환해서 제출하는 실수를 해서 시간을 많이 까먹었습니다.. 백준에 익숙해진 나머지 왜 안되는지 이해를 못하고 전전긍긍 했었습니다.
카카오 인턴십에서는 코딩테스트를 프로그래머스에서 진행합니다. 위의 제 경험과 같이 프로그래머스를 사용해본 경험이 있다면 더욱 수월하게 진행할 수 있겠죠? 그래서 카카오에서는 사전에 프로그래머스를 통해서 진행한다는 정보를 게시해주었습니다.
코딩테스트는 총 5월 8일 2시 ~ 6시 까지 4시간 동안 진행되었습니다. 5문제 치고 시간이 길지 않은가 생각하실 수도 있는데 알고리즘 문제의 특성상 문제 풀이법을 설계하고 코드를 작성한 후 정답이 맞는지 확인하고 수정하는 시간까지 필요하기 때문에 문제당 풀이 시간이 많이 듭니다.
저는 안드로이드 개발을 주류로 하지만 알고리즘을 풀이할 때는 파이썬을 사용합니다.
문제는 총 5문제가 제출되었습니다. 제 기억에 기반해서 작성하는 것이라 틀릴 수 있습니다.
1번은 많은 코딩테스트에서 쉬운 문제를 제출합니다. 1seven5eight8와 같은 문자열을 1758과 같은 인트형으로 반환하면 되는 문제였습니다. 코딩을 해본 사람이라면 풀 수 있는 문제로 테스트 케이스도 쉽게 넘어갔습니다.
2번은 코로나와 거리두기 수칙 문제였습니다. 문제에서 코로나가 나와서 신박했어요. ㅋㅋㅋ 간단한 배열 에서 규칙찾기 문제였습니다.
3번은 커서와 스택 문제였습니다. 순수 문자열 자체에서 커서를 움직여가며 풀면 최고 효율로 풀이할 수 있습니다. 파이썬의 문자열이 불변이란 것을 늦게 알아서 효율성 테스트를 통과하지 못했습니다.
다음 코딩테스트 때는 위와 같은 문제를 코틀린 혹은 자바로 풀이할 것입니다. 문자열을 다루는데 있어서 파이썬이 가장 효율적인 언어라고 생각했는데... 생각지 못한곳에서 복병을 만났습니다.
4번 문제는 다익스트라 변형 문제였습니다. 시작점과 끝점, 경로가 주어집니다. 문제를 접하고 다익스트라 문제구나! 생각했지만 다익스트라 알고리즘을 작성해놓고 함정을 어떻게 처리해야 할지 고민했습니다. 결국 처리하지 못하고 풀이를 못했습니다..
5번 문제는 트리 순회 문제였습니다. 트리에서 dfs를 활용하면 풀 수 있는 문제였습니다. 4번보다 5번을 먼저 봤어야 했는데 4번을 풀고싶어서 5번을 풀이하지 못했습니다. 코딩테스트를 볼 때 한 문제에 집중하지 말라는 말이 다시 한 번 각인되었습니다. ㅠㅠ
카카오 공채 문제에 비해서는 난이도가 높은 문제들은 아니었습니다. 하지만 저의 실력 부족으로 충분히 풀 수 있는 문제들도 놓친 것이 너무 아쉽습니다. 다음에는 mst와 관련된 문제들을 더 많이 풀이해보고 코틀린으로도 풀이해보는 연습을 꼭 할 것입니다. 정말로 꼭 꼭.....