좀 특이한 규칙의 코딩테스트였다. 휴대폰 카메라로 실황을 중계하며 화면공유는 하되 검색은 허용되는 코딩테스트라니 네이버의 환경과 카카오의 규칙을 섞은 기분이다. 덕분에 난이도는 조금 너프되었다고 생각한다. 결과는 올솔.

1번은 문자열 다루기에 탐색을 곁들었다. 입력값이 모두 valid한 값으로 들어오지 않았다면 그 값들 처리하는데 난이도가 급상승했겠지만 정말 다행히 1번답게 입력값 검증은 고려할 필요 없이 로직만 제대로 작성하면 무난하게 풀 수 있었다. 필자는 해시 자료구조를 사용해 스트링을 key로, 리스트를 value로 저장하였다. 이렇게 하면 1씩 증가시키면서 검색할 때 이진탐색으로 비교적 빠르게 해결할 수 있기 때문이다. (파이썬 내장모듈 만세)

2번은 탐색범위가 제한되어 있어 별 생각없이 dfs로 완전탐색을 수행해도 해결이 가능해보인다. 다만 필자는 투포인터로 풀었다. 카운트를 깎아야 하는지 여부와 카운트가 0이 되었을 때의 로직을 잘 고려하면 비교적 빠르게 해결할 수 있다.

3번은 개인적으로 검색이 허용되지 않았다면 카카오를 제외한 기업이 출제할 수 있는 가장 난이도가 까다로운 문제이지 않을까 생각한다. 물건을 쌓는 로직과 제거하는 로직, 만약 제거작업이 수행되면 나머지 물건을 아래로 내려주는 로직까지도 작성해야 했다. 구현 + 알고리즘으로 출제되었기에 저번 네이버 코딩테스트 4번 정도에 해당하는 난이도가 아니었나 싶다. 필자도 그냥 프렌즈 4블록과 뿌요뿌요 2문제에 대한 풀이를 검색해서 출제된 문제에 맞게 코드를 변형해 문제를 해결했다. 1시간 동안 1, 2, 4번을 해결하고 3번에 대략 1시간을 쏟은 듯하다. 사용된 알고리즘은 bfs와 나머지는 배열을 이용한 구현.

4번은 SQL 문제로 풀이는 여러 개가 있을 수 있으나 SQL에 대한 레퍼런스가 워낙 다들 잘 나와있어 검색해서 후딱 풀었다. 로직 자체는 간단하다. WHERE과 NOT IN, ORDER BY 연산만 쓰면 일단 성능은 모르겠고 결과는 올바르게 뽑힌다.

히든케이스 채점결과를 알려준 덕분에 필자는 전부 100점을 얻어 올솔하였음을 알 수 있었다. 난이도 체감은 이번에 출제된 데브매칭 3번 문제보다 조금 쉽지만 알고리즘 적용없이 구현만으로 풀 수 있는 문제가 나온다면 정확히 저번 2021 하반기 네이버 코딩테스트 정도의 난이도였다고 생각한다. 다만 데브매칭으로는 채용 인원이 거의 없대서 왜 그런가 찾아보니 채용 시 계약 연봉의 7%를 프로그래머스에 내야 한단다... 기업 홍보 및 전형이 있음을 알리는 목적으로 후원한다는 이야기다. 따라서 서류조차 검토하지 않는 기업이 대다수라 하니 그냥 코딩테스트 경험과 실력체크에 의의를 두어야겠다.

후속 포스팅

2021 Dev-Matching: 웹 백엔드 개발자(하반기) 추가 전형 진행 후기

+ Recent posts