토스 NEXT 개발자 챌린지 2022 후기 (BE)
8/6 14:00 - 16:10에 토스 NEXT 챌린지 2022 코딩테스트가 진행되었다.
작년과 동일하게 1차 (일반 코테) + 2차 (상황 제공형 서술형)으로 구성되었다.
사실 1차 문제가 너무너무 쉽게 나와서, 후기 쓸까 말까 고민하다가 결국 썼다.
하지만 문제가 쉽다고 해서, 올솔컷이 나올 것 같다는 생각은 안 든다. 1시간 30분에 7문제를 풀어야 했기 때문에...
솔직히 1차는 변별력이 거의 존재하지 않고, 2차가 좀 더 의미 있었던 것 같다.
하지만 짧게나마 적어보겠다.
Q1.
사용 알고리즘: 구현
예상 난이도: B3
- 반복문으로 돌리면 끝난다.
Q2.
사용 알고리즘: 구현...
예상 난이도: B2
- 정렬 한 번 하고, 길이의 1/4을 구해서 인덱싱하면 끝난다.
Q3.
사용 알고리즘: 완전탐색
예상 난이도: S2
- next_permutation을 사용해서 모든 경우의 수를 찾고, 일자로 죽 스캔하면 된다.
- 던전의 길이는 최대 8이므로, 넉넉하다.
Q4.
사용 알고리즘: 해시 (or 트리)
예상 난이도: S2
- 해시를 사용한 단순한 구현문제.
사실 depth가 별로 크지 않고, 관계의 수가 100만개 이하라는 것을 사용해서 트리 + 부분합 풀이도 좋겠지만, 시간이 너무 널널해서 그냥 해시로 밀어도 뚫린다.
Q5.
사용 알고리즘: 수학 (그리디?)
예상 난이도: S2
어떤 수를 3과 2의 합으로 표현하려면, 다음과 같이 생각할 수 있다.
- 만약 3으로 나눴을 때 나머지가 0이라면, 그냥 전부 3으로 채우면 된다.
- 만약 3으로 나눴을 때 나머지가 1이라면, 3을 하나 덜 쓰고, 2 2개로 채우면 된다. -> 3으로 나눈 것에 1 더하면 된다.
- 만약 3으로 나눴을 떄 나머지가 2라면, 그냥 2 하나를 더하면 된다. -> 3으로 나눈 것에 1 더하면 된다.
즉, 그냥 3으로 나눠서 나머지가 있는지 없는지로 수를 구할 수 있다.
적당히 갯수 카운팅해서 위 방법대로 풀면 뚝딱.
Q6.
사용 알고리즘: map
예상 난이도: S4
그냥 다 합쳐서 정렬하면 된다...
Python으로 풀거면, zip으로 키랑 값을 묶어서 짜면 진짜 금방짠다.
Q7.
사용 알고리즘: DP
예상 난이도: G5
간단한 2차원 dp. 주식의 수는 100개고 가격의 최댓값은 100000 이니 넉넉하게 dp 테이블을 짤 수 있다.
각 주식에 대해 (구매, 안 구매)로 케이스를 나눌 수 있으니, 상황에 맞춰 dp로 밀면 끝.
2차는 상황 판단형 문제가 나왔다. 어떤 시나리오를 주고, 그 시나리오에 대해 본인이 생각하는 솔루션 (장단점, 구조 설계 등)을 적으면 된다.
서버 개발 경험이 없으면 절대 풀 수 없는 문제들로 구성되어 있다.
참고로 프론트도 유사하게 나왔고, iOS는 Swift 언어에 대한 객관식과 서술형으로 구성되어 있었다.
총평:
1차는 진짜 변별력이 없었고, 사실상 2차에 온 힘을 쏟으려고 이렇게 구성한게 아닐까 싶은 수준.