2017년 9월 17일 일요일

카카오 블라인드 채용 테스트 후기 (1차)


2018 카카오 블라인트 채용 테스트 1차에 참가했다.

요즘엔 기업들이 programmers.co.kr 같은 플랫폼을 사용하여 대회 또는 시험을 진행하는 같다. 제출이나 문제 설명은 codecademy 와 비슷한 방식이고, 문제를 제출하고 검사하는 방식은 TopCoder와 유사하게 class 나 어떤 함수의 반환으로 채점한다.

1차 온라인 테스트는 https://programmers.co.kr/competitions/35/welcome-kakao 또는 https://welcomekakao.com 에서 진행되었다.

5시간동안 총 7문제가 주어졌었는데, 문제는 난이도순이 아닌 것 같았다.

1,2,3,6,7,5번 순서대로 풀었었고, 4번은 읽고 나니 테스트 종료 15분 정도 남았었다. 제출하기 전에 테스트케이스를 돌렸는 데 몇 개가 틀렸다. 디버깅 할 시간도 없고 해서 제출하지 않았다.

7번에서 시간을 너무 보내버린 나머지 시간이 부족했다. 문제 조건을 자세히 읽다보니 고려해도 되지 않은 부분이 있었는 데, 그걸 너무 늦게 알아서 늦었다.. 다음부터는 꼭 문제 조건을 침착하게 읽어야겠다.

정확히는 기억이 안 나는데, 1번 문제는 비트의 모양을 한 문자열->숫자를 반대로 디코딩하는 거였고, 2번은 점수에 대한 정보가 담긴 문자열을 뜯어 점수를 계산하는 구현 문제였다.
3번은 LRU를 시뮬레이션 하는 거였는데, 제출했더니 부분 문제에서 우수수 틀렸다. map을 써서 cache hit 타이밍을 업데이트하고 그랬는 데, 왜 틀렸는 지 모르겠다. 나중에 풀이를 공개해주면 좋겠다.
4번은 셔틀 버스 9시부터 t분마다 총 n회 운행하고 한 번에 최대 m명만 탈 수 있을 때, 최대한 늦장부리면 몇시 몇분 버스를 타느냐였는데, 나중에 꼭 풀어보고싶다.
5번은 두 집합에 대해 A∩B / A∪B 를 구하는 거였는 데 이것도 map 쓰면 된다.
6번은 연세대 대회 중에 뿌요뿌요랑 비슷했다. 대신 dfs를 안 쓰는 방식
7번에서 좀 고생했는데, ISO 형태 비슷하게 ms초까지 적힌 문자열을 뜯어서 정해진 범위 내에서 겹치는 구간의 개수를 구하는 문제였다. 구간을 Open/Close하면서 범위 내의 구간의 개수를 구했는 데, Codeforces Round 422-C 에서 사용해봤던 방법이었다. (같은 문제는 아니다.) 시간복잡도는 대략 O(nlogn)

전체적으로 문제가 "엥 이거 완전 억지 아닌가"라는 느낌은 없었다. 다만, 프로그래머스 사이트 자체의 특성인건지 입력과 출력의 범위가 제대로 주어지지 않는 경우가 몇 있어서, 최소/최대 케이스를 테스트하기가 어렵다. main() 함수를 따로 구현해서 테스트 하는것도 일이다..

PS) ACM을 앞두고 너무 실력이 부족한 것 같아 걱정이다. 새로운 알고리즘을 배우기엔 늦었고, 기존의 발상과 구현 능력을 다듬어야 할 때 같다.

17.09.28
몇일 전에 메일이 도착했다. 우선은 합격했는데 컷이 4문제였다고 한다. 그리고 카카오에서 풀이를 공개하였다. 글은 http://tech.kakao.com/2017/09/27/kakao-blind-recruitment-round-1 에서 확인할 수 있다.
댓글 쓰기

게시글 목록