본문 바로가기
Diary/Competitive Programming

250711 ~ 250712 - 제11회 SCPC 1차 예선 후기

by dodobow 2025. 7. 13.

제11회 SCPC 1차 예선

푼 문제

1 - 거스름돈

단순한 그리디 문제. 가능한 거스름돈의 경우가 4,500원, 500원으로 2가지만 존재하기에 1,000원짜리를 우선적으로 사용하면 된다.

2 - 폭탄

브루트포스 + 누적합. 모든 폭탄을 왼쪽으로 옮기는 데 걸리는 시간을 기본값으로 설정하고, 각 폭탄을 기준으로 폭탄의 목적지를 양쪽 끝으로 나누어가며 최솟값을 구한다. 걸리는 시간은 누적합을 사용하면 O(1)에 구할 수 있다. 

3 - 십진수

애드혹. 문제에서 묻는 바는 사실 제시된 십진수보다 작은 '0, 1, 2로만 표현되는 수 중' 중 가장 큰 수를 삼진수로 생각하고, 이를 십진수로 출력하면 된다. 예를 들어, 123450가 입력되었다면, 122222가 이에 해당한다. 이를 삼진수 보고 십진수로 변환하면 485가 나온다. 


못 푼 문제

4 - 상점

서브태스크라도 긁어볼까 하다가 귀찮은 마음에 그만뒀다. R = 1인 케이스만 겨냥해서 코드를 작성했으나 이유 모를 메모리 초과로 실패했다. 


총 후기

군 전역 후 참가한 첫 메이저 대회. 매번 언어 제한을 이유로 꺼렸던 SCPC지만 이번에는 참가하게 되었다. Python만 주력 언어로 사용하다 보니 C++로 코드 짜는 부분이 가장 힘들었다. 또 이렇게 장시간의 대회는 처음이었는데, 오히려 여유 있게 참여할 수 있어서 좋았다. 확실히 1차 예선이라 마음 편하게 참여했고, 통과한다면 가게될 2차 예선에서는 아마 서브태스크를 열심히 긁어야 하지 않을까 싶다.