본문 바로가기
Log/private

2021 네이버 신입공채 코딩테스트 후기

by HenryNoh 2021. 4. 24.

7시간 전 인생 3번째 코딩 테스트를 보았다.

이전 네이버 신입 공채 코딩 테스트 후기들을 찾아보면 2시간 동안 3문제를 풀어야 하고 화상 녹화라던지 화면 공유도 없는 줄 알았는데 음.. 다 해야 하고 더블 모니터도 불가능이라서 모니터도 없애야 했고 준비할게 많았다.

2021년 4월 24일 토요일 14시~16시까지 진행된 2021년 네이버 신입 공채 코딩 테스트는 총 4문제를 2시간 안에 푸는 방식으로 진행되었다. 문제를 풀 수 있는 프로그래머스 사이트를 제외한 나머지 모든 사이트에 대한 참조 금지, 개인 노트 사용 금지 등 제약이 많긴 했다. 하지만 코딩 테스트 진행 도중 볼 수 있는 각 언어에 대한 레퍼런스 사이트는 주어져서 만약 본인이 사용하는 언어에 대한 단순 사용방법이 아니라 레퍼런스 사이트를 보고 존재하는 내장 함수의 사용방법을 알고 있다면 함수를 외워야 한다던지 하는 번거로움은 없을 것이다.

4문제의 난이도 자체는 프로그래머스 기준 1.5 ~ 3 백준 기준 실버 상위 ~ 골드 상위 정도였던 것 같다. 문제에 대한 직접적인 유출이나 자세한 설명은 일체 불가능하기 때문에 본 게시물에는 작성하지는 못할 것 같고, 다만 개인적인 생각을 조금 적어보겠다.

일단 카카오에 비해서 쉽다.

물론 내가 그동안 코딩테스트 준비를 많이 한 경향도 있겠지만 모든 분들이 말하듯 카카오 >>>>> 네이버/라인/삼성 이런 느낌이라서 이것에는 이견이 없다. 문제의 유형은 알고리즘을 사용해야만 하는 문제가 1개, 구현이 3문제였다.

사실 구현에 대한 문제는 카카오에서 더 많이 출제되는 것으로 알고 있어서 약 2주간 알고리즘 (Greedy, DP, DFS, BFS, 이분 탐색, 완전 탐색, dijkstra, floyd-warshall, bellman-ford)만 정말 열심히 공부하였는데 구현 문제가 떡하니 3문제나 나와서 이것도 유형이 변한 건가..? 싶긴 했다.

개인적인 생각이지만 감독이 있고 다른 사이트의 참조가 불가능한 상황에서 알고리즘을 깊게 쓰는 문제를 낸다면 그것 자체로 이미 코테의 난이도가 상당히 올라가서 구현 문제를 내서 좀 더 문제를 잘 이해하고 파악하는가를 확인해보는 것 같았다.

1시간 40분을 사용했다.

1번 문제는 보자마자 오.. 역시 1번은 그래도 쉽게 내는 건가 하는 생각이 들긴 했다.

그냥 단순하게 문제에서 주어진대로만 구현하면 되는 것이어서 그렇게 어려운 점은 없었고 처음에 15분 만에 코드를 짜고 실행을 해보니 안되길래 문제를 다시 읽어보니 내가 더 어렵게 생각한 부분이 있어서 그 부분을 수정하느라 약 20~25분 정도 걸렸다.

2번 문제를 보자마자 뭐지..? 카카오랑 유형이 너무 비슷한데..? 하는 생각이 들었다.

1번 문제가 "너 코딩해봤어?" 하는 수준의 문제였다면 2번 문제는 "너 코딩은 할 줄 아네! 그럼 내가 한 말을 잘 이해해봐! "하는 느낌이었다. 근데 이런 유형의 문제는 정말 카카오에서 많이 나왔고 level 2 문자 열처리 부분이나 뭐 여타 부분들을 보면 풀 수 있는 문제였다.

다만 이런 문제들에서 함정이 많이 생기는데 예외 케이스가 너무 많다. 문제에서 주어진 테스트 케이스 1개를 못 잡아서 30분 정도 씨름하다가 3번으로 먼저 넘어간 후에 다시 2번을 풀어서 예외 케이스를 해결했다.

3번 문제를 보자마자 정확성 / 효율성 점수가 나눠진다길래 이거 효율성까지 다 맞으면 통과할 것 같다!라는 생각이 들었다.

사실 숨겨진 히든 케이스들 때문에.. 테케 다 맞춰봤자 통과 못하시는 분들이 수두룩 빽빽해서 혼자 김칫국이나 마신 것이지만.... 3번 문제도 마찬가지로 구현 문제였다. 그냥 문제에 주어진대로 구현만 하면 되는 거라서 뭐..? 어려운 게 있나 싶기도 했고 처음에 코드를 막 짰다가 아무리 생각해도 이건 시간 초과다!라는 생각에 싹 지우고 다시 짜 보니 O(N^2)이던 코드가 O(N)으로 줄어들었다.

정말 운이 좋게도 효율성을 해결하는 방법이 한 5분? 만에 떠오른 것 같다. 이건 천운이 따랐다..라는 생각밖에 들지 않았다.

4번 문제를 보고 3 솔이면 합격이다 라는 생각이 더욱 심하게 들었다.

2번 문제를 건너뛰고 3번까지 풀고 남은 시간이 약 4~50분 정도였다. 여기서 선택과 집중을 했다. 4번 문제를 보자마자 "BFS + 여러 개 조건 = 시간 내에 못 푼다" 결론 내리고 2번으로 다시 돌아갔다.

진짜 아무리 생각해도 2번 테스트 케이스가 왜 틀렸는지 이해가 안 되는 것이다. 그래서 시간도 많이 남은 김에 처음부터 끝까지 테스트 케이스에 주어진 경우를 직접 머릿속으로 돌려보고 그제야 아..! 하고는 코드를 수정했다.

진짜 테케 다 맞았을 때의 그 감격이란... 1,2,3번의 테케를 다 맞추고 남은 시간은 8분이었다. 뭐 4번 풀지도 못할 것 같고 다음 코테 준비하는 겸 4번 문제 해석이라도 해보려고 했다. 어떤 식으로 풀어야 할지..? 그리고 머릿속에 차근차근 순서대로 생각해보니 한 6시간 주면 풀 수 있을 것 같았다ㅋㅋㅋㅋ

공부 더해야겠다.

물론 너무 어려운 난이도의 문제는 풀지 않아도 합격은 할 것 같다. 물론 예외를 잘 잡는다는 가정하에.
하지만 이번 코테 4번 문제처럼 조금만 어려운 문제가 나와도 손이 움직이질 않는다.

솔직히 첫 대기업 공채라서 기대도 안 하고 코테 합격해도 면접 가서 광탈할 거라는 생각뿐이지만 그래도 면접은 가봤으면 좋겠다! 그래서인지 결과를 빨리 알려주면 좋겠다..

이제 4월 26일 다음 주 월요일까지 라인 인턴 자소서 마무리해서 제출하고
5/1 라인 인턴 코딩 테스트 , 5/8 카카오 인턴 코딩테스트 , 5/9 여름방학 스타트업 인턴 프로그램 코딩 테스트 3 가지! 열심히 준비해야겠다.


5/15 추가

면접도 못가고 탈락했다. ㅜㅜ 아쉽지만 어쩔 수 없는 결과일 것이라고 생각한다. 코테 난이도가 낮은 만큼 자소서도 많이 봤을 것이라는 생각이 들고 내가 봐도 현저히 부족한 포트폴리오기 때문에 앞으로 많이 노력해야겠다!

역시 자만은 금물이다.

(해당 게시글에 대한 문제가 있을 경우 바로 연락 주시면 조치하겠습니다.)

댓글