2020 카카오 블라인드 테스트 후기

2020 카카오 블라인드 테스트 후기

2020 카카오 블라인드 테스트 후기

문제는 총 7문제였다.

1번 문자열 압축하기

1번 문제는 간단한 문자열 압축 문제였는데, 혹시 1번부터 허프만 압축 문제인가… 카카오 블라인드 테스트 수준이 높구나 하고 있었는데, 살펴보니 단순한 압축 구현 문제였다.
문자열 경계처리를 할 때 종이에 써 가며 문제를 풀었다. 단순한 구현 문제라 머리가 잘 돌지 않았지만, 억지로 꾸역꾸역 종이에 문제풀이 로직을 적어가며 풀었다.

2번 괄호 고치기

2번 문제는 괄호 열고 닫는 문제 + 재귀 였는데 괄호가 한 종류만 나와서 스택을 사용할 필요는 없었고 재귀를 써본적이 있느냐 수준의 간단한 문제였다. 문제대로 구현했다.

여기까지 약 1시간 30분정도 걸린 것 같다.
2번 문제까지 풀고다니 슬슬 머리가 돌기 시작했다.

3번 열쇠로 자물쇠 열기

3번 문제는 열쇠와 자물쇠 문제였는데, 매트릭스 템플릿 매칭? 문제였다. 어떻게 풀어야할지 잘 감이 안와서 남겨두었다가 2시간쯤 남았을 때 보니 감이 왔다.
열쇠 매트릭스가 자물쇠 모양과 일치하는 경우를 찾을 때,

  1. key가 Lock 내부에서만 도는 경우
  2. key가 회전하는 경우
  3. key가 Lock 외부로 도는 경우 => 경계처리만 잘해주기

로 나누어서 풀었다. 생각보다는 어렵지 않지만 구현이 꽤 까다로운 문제였다.

4번 문자열 매칭

4번 문제는 문자열 매칭 문제였는데, 문자열 매칭 문제는 나이브하게 매칭 시키거나 KMP 알고리즘밖에 모르고 있었다. 설마 KMP인가 했는데 아니었고, 와일드 문자열이 앞에 있는 경우와 뒤에 있는 경우만 나누어서 나이브하게 매칭 시켜도 정확도 케이스는 통과했다.
문제는 효율성 케이스였는데, 딕셔너리를 사용해서 알파뱃의 숫자를 비교하는 얄팍한 수가 떠올랐지만 저격 데이터셋인지 풀리진 않았다. 나중에 들어보니 트라이를 사용해서 풀면 된다고 하는데, 이 영역은 전에 공부한 적이 없었기 때문에 효율성 파트에서 틀려도 별 후회가 남진 않았다.
다음에 공부해야지

5번 건축 시뮬레이션

5번 문제는 시뮬레이션 구현이었는데, 꽤 까다로웠다. 서로 건축물은 겹치지 않는다고 한 내용을, 한 좌표에 기둥과 보가 동시에 있으면 안된다고 잘못 이해해 1시간 30분정도를 왜 틀렸는지 갸우뚱거리고 있었다. 아무리 생각해도 이상해 차근차근 디버깅을 하다가, 기둥과 보가 같이 있을 수 있다는 지문을 발견하고 다시 푸니 20분 정도 더 걸렸다.

6, 7번

6번과 7번 문제는 제대로 풀지 못했다.
사실 7문제에 5시간이나 주었고 앞에 1, 2번 문제가 비교적 간단했기 때문에 차마 6번과 7번 문제를 시간이 없어 못 풀었다고 할 순 없었다. 5번이 풀만해보여 시간을 투자하기로 결정해 6, 7번 문제는 제대로 이해하지 못했다. 결국 실력이 부족해서 풀지 못했다.
그나마 7번은 기계의 축을 잡아서 회전하는 경우의 수를 생각해서 bfs 최단거리로 짜면 되겠다고만 생각했다.
끝나고나니 사람들은 7번문제가 쉬웠다고 하는데, 아직도 어떻게 풀어야할지 모르겠다.

회고

결론적으로 맞은 문제수는 4.5 / 7 문제 정도가 될 것 같다. 각 문제 난이도별로 배점이 다르다고하고, 사람들이 많이 못 풀었을 6, 7번 문제를 못풀었으니 상대 점수는 좀 더 낮을 수도 있겠다.

총평을 해보자면 카카오 블라인드 코테가 상당히 어렵다고 들었는데, 생각보다 어렵진 않았다. 코드 포스정도 수준이 나올거라고 예상했는데, 그 정도는 아니었던 것 같다. 내가 어려워하는 DP나 머리를 많이 써야하는 그리디, 분할 정복, 이진 탐색, 다익스트라, 플루이드 마샬과 같은 주제가 나오지 않았고 (물론 대신 트라이 문제가 나왔지만) 구현문제가 주로 나왔다. 꽤 까다로운 구현문제도 있었지만 시간을 비교적 많이 주었기 때문에 그렇게 풀이 난이도가 높진 않았던 것 같다. 그럼에도 6번과 7번은 손도 대보지 못했고, 4번 최적화 문제도 풀지 못한 건 아쉽다.

댓글

이 블로그의 인기 게시물

[Linux, Unix] export, echo 명령어 알아보기

뼈속 깊이 이해하기 :: 1. 허프만 코딩

IEEE 754 부동 소수점 반올림과 근사