2022 신입 개발자 블라인드 채용 1차 코딩 테스트

코딩 테스트는 총 (300+5) 분간 진행되었으며 7문제로 구성되어 있었다.

이때 시작과 동시에 서버에 트래픽이 몰렸는지 연결이 끊기는 현상이 나타났다.

그로 인해 5분의 추가 시간이 주어졌다.

 

문제가 정말 다양하게 나왔던 거 같은데 잘 사용하지 않던 생소한 분야도 나와 많이 당황했다.

확실히 다른 코딩테스트에 비해서 문제의 질과 난이도 배치가 괜찮았다.

검색해서 여기저기 둘러본 결과 난이도는 작년에 비해서는 다들 쉽다고 하셨다.

 

문제를 5시간이나 주어져서 시간에 대해서는 부족한 점이 없었지만

아무리 시간을 많이 주어도 결국 해당 문제에 대한 아이디어가 떠오르지 않으면

못 푼다는 사실을 또 한 번 깨닫게 되었다.

 

 

1번 문제

HashMap을 이용하여 중복을 확인하고 얼마나 누적되었는지 계산하여

해당 기준치를 넘는 경우를 확인해 출력해주면 되는 문제였다.

생각보다 1번 문제가 엄청 쉽지 않아서 살짝 당황했었다.

 

2번 문제

주어진 수를 n진수로 바꾸고 바꾼 수를 파싱 하여 소수의 개수를 구하는 문제였다.

이때 n이 2도 가능하다고 생각을 했는데 long범위를 넘어가

문자열 문제인가하고 stack 을 쓰려다가 n의 범위가 3~10인걸 보고

변환하여도 long 범위 안에 드는 것을 확인하여 단순히 변환하고

replaceAll을 이용하여 특정 문자를 변환한 뒤

StringTokenizer를 이용해 나눠주었다.

이때 나눠진 수를 소수 판별을 하면 되었다.

해당수를 sqrt(n)까지만 확인하는 방법으로 해도 테스트 케이스를 다 통과했던 거 같은데

만약 n값이 엄청 크다면 밀러-라빈을 통해 판별해야 하지 않았을까 생각한다.

 

3번 문제

해쉬맵을 이용하여 아이디와 시간을 저장하며 시간 배열을 따로 만들어

차량이 나갈 때마다 차이만큼 배열에 시간을 누적해주고 해쉬맵에서 해당 아이디를 제거해주었다.

마지막에 계산할 때 해당 아이디가 해쉬맵에 있는지 없는지로 분기를 나누어 계산하면 쉽게 풀 수 있었다.

 

4번 문제

그리디인지 백트래킹인지 헷갈리는 문제인 거 같다.

나는 결국 마지막에 브루트포스로 제출했다..

A가 이기기 위해서 B보다 점수가 높아야 했는데

n점을 획득할 수 있는 과녁에서는 A가 가질 수 있는 범위는 0부터 B가 맞춘 개수+1이었다

이렇게 모든 경우를 확인하며 마지막 0점에서는 총 개수 - 1~10점 개수를 하여 나타내었고

이 때 그리디 방식으로 하였을 때 테스트 케이스가 2개씩 계속 불통과였는데

모든 경우를 확인하며 낮은 점수를 가장 많이 맞히는 경우 정답을 갱신해주어서 테케를 모두 맞추었다.

 

5번 문제

이진트리를 확인하며 최적의 값을 구하는 문제였는데

n 값이 작아서 모든 경우의 수를 확인하면 쉽게 구할 수 있다고 한다.

시도는 해보았는데 못 풀었던 문제로 비트마스킹 문제를 좀 더 풀어봐야겠다.

 

6번 문제

해당 문제 정확성에 대해서는 정말 쉬운 문제였는데

효율성에 대해서는 접해보지 못해서 못 푼 문제였다.

사실 이문제는 원리만 알면 정말 쉬운 문제다.. (Well-Known)

 

이 문제는 아래 2문제를 통해 쉽게 풀 수 있다.

 

이 문제를 통해 선형으로 누적되었을 때를 배우고

https://www.acmicpc.net/problem/19951

 

19951번: 태상이의 훈련소 생활

2020년 5월 14일 논산훈련소에 입대한 태상이는 첫 총기 훈련에서 가스 조절기를 잃어버리는 중대한 실수를 범했다. 그로 인해, 태상이는 조교들에게 눈총을 받게 되었다. 조교들은 태상이에게 연

www.acmicpc.net

 

이 문제를 통해 위에서 푼 개념을 적용하면 된다.

https://www.acmicpc.net/problem/16507

 

16507번: 어두운 건 무서워

첫 번째 줄에는 사진의 크기를 의미하는 정수 R, C (1 ≤ R, C ≤ 1,000)와 사진 일부분의 밝기 평균을 알아볼 개수를 의미하는 정수 Q (1 ≤ Q ≤ 10,000)가 주어진다. 다음 R개의 줄에 걸쳐 R×C 크기의 사

www.acmicpc.net

 

처음에는 아 이거 효율성까지 하면 솔브닥 기준 플레는 되겠다 했는데

위 두 문제가 실버라는 점에 당황하였다..

 

7번 문제

게임이론에서 가끔 보던 문제였던 거 같은데

해당 턴에서 갈 수 있는 상 하 좌 우의 최대 턴 중에서 최소 턴을 구하여 1+최소턴을 해주는 방식으로

계산하였는데 테스트 케이스 몇 개 스크래치 내고 끝난 문제였다.

나중에 문제가 공개되면 다시 풀어 봐야겠다.

 

 

 

결과

 

아직은 일을 하고 있어 모의테스트에 참여해보지 못하는 게 아쉽다..

2차 시험에서는 API 문제 및 CS문제가 나온다고 한다. 사실 API가 뭔지도 모르고 만들어본 적도 없지만

아무것도 제출 안 할 순 없으니 1주일 동안 열심히 검색해서 배워봐야겠다.

2021 2차 문제는 해당 주소에서 확인이 가능하다

https://tech.kakao.com/2021/02/16/2021-kakao-recruitment-round-2/

 

2021 카카오 신입공채 2차 온라인 코딩 테스트 for Tech developers 문제해설

지난 2020년 9월 26일(토)에 2021 카카오 신입 개발자 블라인드 채용 과정의 2차 코딩 테스트가 진행되었습니다. 이번 2차 코딩 테스트는 코로나19 위기감이 높아지는 시기에 치러짐에 따라 지원자분

tech.kakao.com

 

+ Recent posts