728x90

대회 개요

국방오픈소스아카데미(http://osam.kr)에서 주최하는 군장병 코딩경진대회에 참가했다. 대회 플랫폼은 프로그래머스에서 진행했다. 프로그래머스는 백준과 달리 함수를 구현하는 코딩테스트 형태이다. 즉, 문제를 푸는데 필요한 파라미터는 모두 제공되기에 인풋 아웃풋을 구현할 필요가 없다. 물론 중간중간 테스트용으로 아웃풋을 쓰는건 가능하다.

프로그래머스를 한 번도 안썼고 수상권 목표로 한다면 무조건 프로그래머스에서 제공하는 다른 문제들을 풀어보자. 환경이 좀 많이 다르다.

 

대회 후기

대회가 끝나자마자 화들짝 놀라 2020, 2021 후기도 찾아봤다.. 2시간에 4문제라 해서, 코딩테스트라 해서 빠르게 푸는걸 목표로 삼았는데 무슨 scpc 예선 치는줄 알았다. 문제 유출이 금지되어있어 자세히 말하지는 못하지만 1,2번은 전형적인 코딩테스트급의 자료구조, 알고리즘, 구현력을 테스트하는 문제였던 한편 3,4번은 대회에 나올법한 문제였다고 느낀다. 최근 3개년 중 단연 최고난도일 것이다.

2023 이후에 열릴 대회를 준비하는 군인들 중 2022 대회 난이도가 궁금한 사람을 위해 백준 문제와 비교한 예상 난이도도 표시해두겠다. 이 난이도는 모든 tc를 맞추기 위한 난이도이다.

 

1번  Gold 5 (그리디, 이분탐색)

그리디적으로 접근해 이분탐색으로 시간복잡도를 $O(N^2)$에서 $O(NlogN)$으로 줄였다.

 

2번  Silver 1 (구현, map)

단순한 구현문제이나, map을 써서 시간복잡도를 줄여야 한다. 안쓰고 쿼리마다 모두 탐색하면 시간초과 난다. 개인적으로 1번보다 2번이 쉬웠다.

 

3번  Gold 1 (브루트포스, BFS, 비트마스킹)

보자마자 뭔가 싶었다. 사실 1, 2번 풀면서 내가 예상한 1, 2번이 아닌데... 해서 마음의 준비를 하고 문제를 봤다. 그래도 상상한 이상의 난이도였다. 진정하고 어찌어찌 긴 코드를 작성해서 100점을 받긴 했다. 중간중간에 예상못한 경우도 있었어서 멘탈이 탈탈 털려가며 풀었다. 3번까지 푸는데 1시간정도 걸렸던 것 같다.

 

4번  Platinum 이상 (조합론, DP, 비트마스킹) 

작정하고 어렵게 냈구나라는 생각을 했던 문제. 그 전에 문제에 오류가 많았다. $10^9+7$로 나눈 나머지인데 몫이라 되어있다던가.. 미만인데 이하라고 되어있었던 기억도,, 일단 1시간만에 정해로 못 푸는 문제라는걸 확신하고 최대한 tc 긁어보자는 마인드로 접근했다. Joker였나 그걸 안쓰는 경우의 수는 DP로 빠르게 짰다. Joker을 쓰는 경우의 수는 못짜고 그냥 직관으로 찍어서 22.7점 긁었다. 그 후로 40분정도 남았는데 더 긁지는 못하고 대회를 마쳤다. 정해는 지금까지 생각해봤지만 아직도 모르겠다.

+ 결과

6등으로 마무리했다!

대회 결과

728x90

+ Recent posts