2026 IamCoder Qualification Test 후기

NeCu1029·2026년 4월 20일

대회 후기

목록 보기
13/14

2026년 3월 17일에 진행한 2026 IamCoder Qualification Test에 참가했습니다. 올해는 나코더를 떠나 천체 관측 동아리인 별바라기로 소속을 옮겼지만, PS를 하는 사람으로서 예의상 참가해 주었습니다. 총 417점을 기록하여 전체 7등(옵저버 중 3등), 43기 3등(옵저버 중 2등)을 차지했습니다.

시작 전

종례가 끝난 후 바로 대회 장소로 이동했습니다. 43기 운영진들이 열심히 멀티탭을 연결하고 있더라고요. 문어발 멀티탭으로 인한 화재 방지를 위해서라도 강당에 콘센트 확충이 필요해 보입니다. 원래는 밥을 먹지 않고 대회를 치려 했지만, 밥이 맛있다는 소문을 듣고 빠르게 먹으러 갔습니다. 짜장밥이 나왔는데, 맛있긴 했습니다. 대회장에 돌아오니 로그인 정보가 적힌 종이가 자리에 놓여 있었고, 간단한 안내 후 대회가 시작되었습니다.

[0:03] A. 문자열 회전 [PAC]

원래는 퍼솔을 노리고 C번부터 풀려 했지만, 한번 말리면 리스크가 너무 클 것 같아 A번부터 건실하게 풀었습니다.

잘 생각해 보면, 주어진 연산을 통해 원하는 문자를 문자열의 맨 앞으로 보낼 수 있음을 알 수 있습니다. 이를 이용해 G를 맨 앞에 보내고, S를 그 직후에 보내고, ... 이런 식으로 하면 NN회의 연산으로 문자열을 원하는 대로 만들 수 있습니다! 따라서 G, S, H의 개수만 잘 세어 주면 됩니다.

이렇게 풀이를 잘 세웠지만, S의 개수 대신 H의 개수를 반으로 나누어 서브태스크 1(어차피 답이 00으로 고정입니다)만 맞게 됩니다.

[0:04] A. 문자열 회전 [AC]

앞서 말한 부분을 고쳐 AC를 받았습니다.

[0:08] B. 직사각형 색칠하기 [AC]

먼저 직사각형 1개로 해결할 수 있는 경우를 생각해 봅시다. NN 이하의 자연수 iiMM 이하의 자연수 jj가 존재하여, X=ijX=ij를 만족한다면 직사각형 1개로 해결할 수 있습니다. 그렇지 않다면, 1×11\times1 정사각형으로 아래에서 위로, 왼쪽에서 오른쪽으로 쌓아 나간다고 생각해 봅시다. 직사각형 2개로 나눌 수 있음을 쉽게 알 수 있습니다.

이 발상을 막힘없이 빠르게 할 수 있었고, 8분만에 문제를 해결하게 됩니다. B번 퍼솔이며, 전체 1등을 찍게 됩니다.

[0:39] C. Connect the GSHS 2 [PAC]

C번은 문제를 이해하고 풀이를 떠올리는 데 꽤 오랜 시간이 걸렸습니다. 문제를 모두 읽으니 도시에서 그 왕국의 모든 마을에 도달하는 거리 최댓값이 최소가 되어야 한다는 것을 알 수 있었습니다. BFS를 KK번 돌릴 시간이 충분하므로 그렇게 했습니다.

이제 선형으로 잇기만 하면 되는데, 무조건 1번 마을 - 2번 마을 - ... 이렇게 이어야 한다고 잘못 생각했습니다! 그래서 서브태스크 1, 2만 맞게 되었습니다.

[0:43] D. 눈부신 조명 [WA]

C번이 쉽게 풀리지 않아 D번을 함께 보았고, C번과 거의 같은 시간에 제출하였습니다. 먼저 ANA\ge{}N 조건에 의해 등급이 가장 큰 조명의 중심부만 봐 주면 된다는 것을 알 수 있습니다. 그러나 가장 밝은 조명의 확산도를 고려하지 않아 한가운데의 밝기가 최대일 것이라고 잘못 생각했고, WA를 받고 맙니다.

[0:49] C. Connect the GSHS 2 [AC]

마을을 잇는 순서는 상관이 없다는 것을 알게 됩니다. 여기서 그리디를 하나 더 적용해야 하는데, ii번째 왕국의 도시에서 그 왕국 내 임의의 마을에 도달하는 거리의 최댓값을 did_i라 합시다. 그러면 did_i가 큰 것을 수도로 놓고, 작아지는 순으로 좌우에 연결하는 것이 최적이 됩니다! 이것을 구현하여 제출하였더니 AC를 받을 수 있었습니다. 계속된 PAC와 WA로 등수는 7등까지 떨어졌고, AC 이후에도 변하지 않았습니다.

[1:05] E. 고속 프리렌 변환 [PAC]

C번을 맞은 이후 D번 구현을 잠깐 시도했고, 오래 걸릴 것 같다는 판단 하에 E번으로 넘어갔습니다. 그런데... 저는 수학을 정말 못 합니다. 경기과고 학생 평균보다 유의미하게 못 하기 때문에, 정해를 찾지 못하고 나이브로 서브태스크 1만 긁었습니다. 생각보다 등수가 유의미하게 상승하여, 3등에 도달했습니다.

[1:11] D. 눈부신 조명 [WA]

D번 구현을 다시 시도했습니다. 이번에는 가장 밝은 조명의 중앙 부분 전체를 모두 고려했고, list[list]의 정렬을 이용하여 답을 구하고자 했습니다. 그러나 Li,x<0L_{i,x}<0인 경우를 고려하지 않아 다시 WA를 받았습니다.

[1:13] D. 눈부신 조명 [AC]

앞서 문제가 되었던 부분을 고쳐 AC를 받았습니다. 이번 AC로 점수는 407점에 도달, 전체 1등을 탈환했습니다.

[1:24] F. SRC 무중력 발사대 [RTE]

남은 시간 동안은 서브태스크만을 긁어 주기로 했습니다. 서브태스크 1을 목표로 했는데, 답이 00 또는 11이어야 함을 쉽게 알 수 있습니다. 11부터 NN까지의 수가 한 번씩 존재할 때만 답이 11이죠. 그러나 구현 실수로 RTE를 받게 되었습니다.

[1:25] F. SRC 무중력 발사대 [PAC]

앞서 문제가 되었던 부분을 고쳐 서브태스크 1을 맞았습니다.

[1:36] G. 수열과 쿼리 2.8e13 [PAC]

이 문제도 서브태스크 1만 공략했습니다. 서브태스크 1은 2번 쿼리를 처리하는 경우의 수가 하나뿐이고 NNQQ도 작으므로, 나이브가 충분히 돌아갑니다. 등수는 중간에 떨어진 2등을 유지했습니다.

여담

  • A번의 원래 지문에는 GSHS 대신 TETO가 있었다고 합니다. 물론 의미는 버튜버 짭 Synthesizer V 음성 합성 엔진 캐릭터인 카사네 테토(重音テト)입니다. A번의 출제자인 @gs25076은 이전에도 "테토와 바게트" 같은 문제를 출제한 경력이 있습니다.
  • C번에서 "쌀나라의 승원이"가 등장하는 이유는, 이름이 승원이고 별명이 "쌀숭이"인 사람이 나코더에 실존하기 때문입니다.
  • D번에서 등장하는 "솔빛"은 경기과고의 수학 동아리 중 하나입니다.
  • E번에 언어 제한이 걸린 이유는 나이브로 뚫을 수 있는 언어가 몇 가지 존재하기 때문입니다.
  • E번을 대회 중에 FFT로 풀고, 7점을 받은(...) 사람이 존재합니다.
  • G번의 2.8e13은 출제자의 닉네임은 28trillion과 같습니다.
  • I번(저는 풀지 않았습니다)의 서브태스크 1은 나이브로 하면 시간 초과가 발생하는 것을 의도했지만, 뚫은 사람이 있다고 합니다.
  • 43기 1등(@gs25027)과 3등(저)은 모두 나코더가 아닙니다.

결과

1시간 36분 이후에는 아무런 제출을 하지 않았고, 2시간 30분에 조기 퇴실 후 결과를 확인했습니다. 최종 결과는 앞서 말한 것과 같습니다. 이번 대회를 통해서 제 강점과 약점을 확실히 체감한 것 같습니다. 쉬운 문제는 매우 빠르게 풀지만, 어려운 문제는 거의 손을 대지 못하죠. 그래서 앞으로는 어려운 문제를 출면서 실력 향상을 해야 할 것 같습니다.

그래도 非나코더 신분으로 7등이면 잘 했다고 생각해요...

profile
경기과고 43rd

0개의 댓글