[알고리즘] 우아한 테크캠프(백엔드) 6기 1차 코딩 테스트 후기
대외활동&구직 회고록

[알고리즘] 우아한 테크캠프(백엔드) 6기 1차 코딩 테스트 후기

후기

2023.05.06 13:00 ~ 16:00


취업을 하고나서 코딩 테스트(알고리즘) 공부를 안 한지 6개월이 넘었다.
그래서 감도 잃지 않고자 그리고 그동안 C++로만 준비를 했었기 때문에 Java로 코딩 테스트도 체험 해보고자 응시하였다.
과제 테스트도 궁금하기도 했고 사람일은 모르기 때문에 미리 준비해두었다 ㅎ..
 
코딩 테스트는 프로그래머스에서 총 3시간으로 4문제가 출제되었고, 백엔드 코스답게 Java로만 응시할 수 있었다
Java로는 코딩 테스트를 준비해본 적이 없어서 처음 참여해보는 것이였다
다행히 프로그래머스라서 입출력은 따로 요구하지 않고 함수에 매개변수와 값 반환을 통해 문제를 풀이하면 되어서 입출력을 찾아보지 않아도 되어 좋았다


난이도는 브론즈~골드하위권 정도 되는 문제들이 출제되었고, 유니콘 스타트업들은 다들 코딩테스트에 어려운 알고리즘 문제들을 잘 출제하지 않는 듯 하다
 
모든 문제를 푸는데 2시간 정도 걸렸고, 정답인지는 나오지 않았으나 반례가 많지 않은 문제 유형들이여서 큰 이변은 없을 것 같다
 

 

문제 풀이

A. 단순구현

제출까지 5분 정도 걸린 것 같다
워낙 쉬운 문제가 나와서 간단하게 해결할 수 있었다

 

B. 수학, DP

경우의 수를 구하는 방법과 이전에 만들어둔 DP 테이블을 응용하면 쉽게 계산할 수 있다
수학을 잘 못해서 제일 오래 걸렸던 문제이다.. 30분 정도 걸렸다
문제들이 기본적으로 int로 주어지는데(매개변수, 반환형), long으로 처리해야 나머지 연산 전에 오버플로우를 방지할 수 있다
 

C. BFS

기본적인 BFS 문제이다
 

D. Union Find, 최소 스패닝 트리

오랜만에 봐서 이거 무슨 알고리즘이였더라..? 라고 생각하다가 MST 문제인 듯 해서 MST로 풀이하였다
기본으로 연결되어 있는 정점들을 붙이는 법은 여러 방법이 있겠지만, 마지막 모든 정점이 붙었는가에 대한 판별이
유니온 파인드가 더 쉬운 듯 하여 유니온 파인드로 구현하였다
구현으로는 프림 알고리즘을 사용했고, 계산한 결과가 최대 100억인데 반환형이 int길래 long으로 바꿔도 되나.. 싶었다
근데 테스트 코드는 정상 작동하길래 그냥 바꿔서 제출했다