제3회 흐즈로컵 참여 후기

Sudulge·2024년 1월 8일
0

제3회 흐즈로컵 (The 3rd Chromate Cup) Algorithm Division

어제 2023년 1월 7일
알고리즘 대회에 처음 참가해봤다.

참가당시 내 티어는 실버1 757점.
백준 단계별로 풀어보기 16단계 스택, 큐, 덱,
솔브닥 클래스2 까지 다 푼 상태였다.

총 세 문제를 도전 했고 한 문제를 맞았다.



A. 이상한 섞기 연산 (틀)

이상한 섞기 연산을 하고 마지막에 1의 위치를 찾는 문제.

문제를 읽고 노트에 써가면서 한 단계씩 해봤는데, 짝수번째 항일때는 1이 이동하지 않고, 홀수번째 항일때는 그 항과 1의 자리를 바꾼다고 생각했다.

제출 했는데 출력초과가 나길래 아니 숫자 한줄씩 출력하는데 무슨 출력초과지 싶어서 잠깐 고민해보고 넘어갔다.

홀수번째 항일때 1과 자리를 바꾸는 것이 아니라 1번째 항과 자리를 바꿔야 했는데 잘못 풀었다.

B. 슈퍼 소수 (맞)

n번째 슈퍼 소수를 찾는 문제.

소수문제를 푼지 며칠 되지 않았기 때문에 할만 해보여서 도전했다.

처음에는 에라토스테네스의 체를 만들고 한번더 순회를 하면서, 슈퍼소수인지 체크 하고, 출력하는 방법을 사용했는데 시간 초과가 떴다.
두번째로는 에라토스테네스의 체를 만드는 반복문 안에서, 몇번째 소수인지 체크하는 변수 k를 추가하고 k번째 인덱스가 소수일경우 슈퍼소수로 판단하는 방법을 사용했다.
반복문 하나를 덜 써서 통과 된 듯 하다.

D. 자료 구조의 왕 (틀)

자료 구조랑 무슨 상관인지는 모르겠지만 2차원 배열 잔디깎이 문제.

어려운 문제는 아니라서 구현은 금방했는데 자꾸 런타임에러가 떴다.
인덱스를 넘어갔나 싶어서 계속 거기만 들여다 봤는데, 나중에 다시 보니 입력을 잘못 받은거였다.

1
2 y x
3 dy dx y x

세가지의 쿼리가 있는데,
2번 쿼리를 len(command) <= 5 이런식으로 처리해서 2 1000 1000 같은 입력이 3번 쿼리로 넘어가버려 오류가 난 것이었다..

평소처럼 리스트로 받을걸 괜히 다른 방법으로 해보려다가 틀렸다.

대회 끝나고 솔브닥 디코에서 c, *l = map(int, input().strip().split()) 으로 입력받는 방법을 배웠다.

총평

총평이라고 할 건 없지만..
처음 참여해보는 대회였는데, 맞을 문제를 두개나 틀려서 좀 아쉬웠다.
500점이면 뱃지 1500점이면 배경까지 주는데, 배경은 못 받게 됐다.

좀 쫄았는데 그래도 풀만한 문제가 몇개 있어서 다행이었다.

다음 대회에서는 네 문제 이상 풀 수 있도록 노력 해야겠다.

0개의 댓글