이번 글에서는 2022 카카오 신입 블라인드 1차 코딩테스트 후기를 적어보려고 합니다. 시험을 본 지 2주가 흐른 뒤에서야 후기를 쓰게 되었네요..ㅎㅎ
시험 프로세스
2021.09.11에 14시부터 19시 5분까지 총 5시간 동안 알고리즘 문제 7개를 푸는 방식으로 진행되었습니다. 처음 시작할 때 네트워크가 문제가 있어 5분의 추가시간이 주어졌습니다.
시간은 넉넉하게 주어져 시간에 쫓기지 않고 문제를 풀 수 있어 좋았습니다. 검색 허용, ide 허용이라 집에서 자유롭게 당충전을 하며 시험을 보았습니다.
문제풀이
저는 파이썬을 사용해 문제를 풀었습니다. 문제를 어떻게 풀었나 ide에 풀었던 내용을 찾아보니 2주 정도 지났다고 참으로 생소하네요ㅎㅎ 그래서 코드를 보고 기억나는 부분만 간단히 적어보겠습니다.
1문
카카오 1번문제답게 문자열 처리하는 쉬운 문제였습니다.
2문
진수변환과 소수 찾기, 그리고 문자열 처리가 요구되는 문제였습니다. 저는 의외로 2번에서 테스트케이스 2개 정도가 시간초과가 나서 애를 먹었습니다. 다 맞지 않으면 틀린다는데...뭐지..뭐지 하다 일단 다른 문제를 풀고 와서 다시 풀었습니다. 소수 찾는 알고리즘을 에라토스테네스의 체를 사용해 구현했는데 가장 큰 경우의 수를 생각해보니 스택오버플로가 나는 것이 문제였습니다. 그래서 일반적으로 제곱근까지 계산하여 소수판별하는 방식으로 바꿔 남은 테스트케이스 2개를 맞았습니다.
3문
단계가 많은(귀찮은) 문자열처리 알고리즘 문제였습니다. 차량별 누적 주차시간을 구해 구간별 요금을 적용해 주차요금을 계산해내는 문제였는데 문자열 처리와 예외처리를 잘해야 하는 문제였습니다. 저는 답을 내는 solution(), 주차요금 계산함수 cal_money(), 시간 변환함수 convert_time() 세 가지 함수를 사용해 필요한 기능을 나눠 풀었습니다.
4문
양궁문제가 나왔습니다. 문제풀면서 김제덕 선수의 파이팅이 생각나던.. 어피치가 쏜 점수가 있을 때 라이언이 가장 큰 점수차로 이기게 하는 조합을 구해야 하는 문제였습니다. 저는 dfs로 점수별로 어피치를 이길지 말지 결정하는 2가지 경우를 나누어 가며 풀었습니다. 그리고 화살은 10발을 모두 써야 하므로 예외처리도 필요했습니다.
5문
5문은 일단 보자마자 바로 패스했습니다. 그리고 돌아올 수 없었다..
6문
정확성과 효율성이 나뉘어 있었는데 어떻게 효율적으로 풀까 고민하다 일단 정확성부터 맞히고 시작하겠다는 마음가짐으로 삼중포문까지 사용하며 쉽게 풀었습니다. 그리고 검색해 비슷한 문제를 보니 2차원 세그먼트트리나 펜윅트리를 사용하는 문제인가 싶기도 하고.. 아직도 잘 모르겠습니다.
7문
이것도 패스..저 같은 범인은 풀 수가 없었습니다
이렇게 하여 1차 코딩테스트는 4.5솔로 마무리하였습니다. 체감상으로는 기출에 비해 난이도가 쉬워진 것 같았습니다. 그래서 결과가 나오기까지 걱정하고 있었습니다.
결과
1차 코테 합격하였습니다!
다른 분들의 이야기를 들어보니 4.5문제를 푼 사람은 붙은 것 같고 4문제는 일부만 붙은 것 같았습니다. 그리고 문제마다 배점이 달라서(카카오 피셜) 개수도 개수지만 뒷번호 문제를 푸는 것이 점수에 큰 영향을 주는 것 같습니다.
2차 코딩테스트 기회를 얻어 좋은 경험을 하게 되었으니 앞으로도 계속 이를 원동력으로 삼아 알고리즘 공부를 열심히 해나가야겠습니다
다음번에는 마음 아픈 2차 코딩테스트 후기로 돌아오도록 하겠습니다..이만 총총..
'후기' 카테고리의 다른 글
2021 삼성SDS 하계 알고리즘특강 후기 (3) | 2021.07.17 |
---|
댓글