기타/후기

토스 NEXT 개발자 챌린지 2022 후기 (BE)

VSFe 2022. 8. 6. 22:44

 

8/6 14:00 - 16:10에 토스 NEXT 챌린지 2022 코딩테스트가 진행되었다.

 

작년과 동일하게 1차 (일반 코테) + 2차 (상황 제공형 서술형)으로 구성되었다.

 

사실 1차 문제가 너무너무 쉽게 나와서, 후기 쓸까 말까 고민하다가 결국 썼다.

 

하지만 문제가 쉽다고 해서, 올솔컷이 나올 것 같다는 생각은 안 든다. 1시간 30분에 7문제를 풀어야 했기 때문에...

 

37분컷.

솔직히 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차에 온 힘을 쏟으려고 이렇게 구성한게 아닐까 싶은 수준.