Doby's Lab

4th Uni-CODE 2022, 2 Solve로 끝 본문

Daily

4th Uni-CODE 2022, 2 Solve로 끝

도비(Doby) 2022. 11. 26. 22:34

https://www.acmicpc.net/contest/view/914

 

4th UNIST Algorithm Programming Contest Uni-CODE 2022 Open Contest

사용 가능한 언어 C++17 C11 PyPy3 Java 11

www.acmicpc.net

 

1년 만에 나가본 CP였습니다. 진짜로 1년이더군요. 경북대 대회 후기

 

대회가 끝난 직후에 쓰는 거라 풀었던 문제 2개는 나중에 업로드하겠습니다. 이번 대회는 UNIST에서 개최한 대회였습니다. 사실 CP를 그리 선호하는 편은 아니었습니다. '문제를 푸는 데에 있어서 왜 급하게 풀어야 할까?'같은 생각이 있어서 1년 전에 한 번 참여한 이후로는 CP에 참여하지 않았었습니다. 그러다가 참여를 안 하다 보니 실력을 한 번 확인해봐야 하는데 참여했다가는 좋지 않은 성적을 가지고 올 거 같아서 피하고 있었습니다. 그래도 이번 기회에 참여하게 되어 얻게 된 것들이 있는 거 같아 좋은 경험이었습니다.


얻은 것

1. 내가 부족한 것들

확실히 느꼈습니다. 평소에도 스스로 부족한 것들을 찾아 공부하지만 대회 문제를 풀면서 보이지 않던 부족한 것들이 보여 저의 PS에 대해 객관적으로 접근할 수 있게 되었습니다. 꽤 큰 부분을 가져갑니다. PS를 혼자 공부하는데 이 과정에서 본인에 대해 객관적으로 볼 수 있었던 적이 없었던 거 같아서요.

 

2. 논리부터

평소 같은 PS를 할 때는 논리부터 생각하고 코드를 작성하는 것이 쉽게 되지만 CP는 급하다 보니 머리로는 '생각부터 하자'라고 말하는데 이미 코드를 작성하는 것 때문에 아이디어에 집중할 수가 없었습니다. 당연히 문제가 안 읽히기도 했고요. 그러다 보니 아이디어 하나에 집중하게 되어 코드를 작성하는데 이렇게 되면 특정 아이디어에 깊이 빠져들어 다른 접근을 할 수 없었습니다. 이번에 A를 풀다가 안 돼서 B로 넘어간 후, 다시 A를 풀었었는데 겨우 다른 접근이 떠올라 풀 수 있었고요. 아무리 급해도 생각부터 해야 합니다.

 

3. 랜덤 디펜스 해보기

평소에 막히면 문제의 분류부터 보게 되는데 이러한 부분에 집중하지 않고, 여러 문제들을 풀어봐야겠다는 생각이 들었습니다. 이번에 B번을 풀 때, 여러 아이디어로 접근해보았는데 되게 좋은 경험이었습니다. 이러한 포인트를 적용하여 앞으로 문제 티어별 랜덤 디펜스를 해봐야겠습니다.

 

4. 관성

주어진 시간 안에 문제를 풀어야 하기 때문에 강제적으로 문제에 대한 관성을 가지게 됩니다. 이런 과정에 많은 아이디어를 가져오게 되죠. PS를 할 때도 그래도 관성을 지니는 편이라 생각했는데 더 많은 관성을 지니게 될 줄은 몰랐네요.

 

5. Template의 중요성

문제를 푸는 데에 있어서 많은 시간을 필요로 하기 때문에 헤더 선언만 해도 시간을 뺏겨서 자주 쓰는 표현들로 템플릿을 하나 만들어둬야겠다 싶었습니다. 또한, 문제를 풀다가 넘어가는 경우에 코드가 남아있으면 좋을 거 같아서 문제마다 파일을 만들어야겠다고 생각했습니다.


그래도 성장

작년 대회에서는 91명 중 41등을 했고, 이번엔 146명 중 41등을 했습니다. 신기할 정도로 똑같았어요. 2 솔브도 마찬가지고요. 하지만, 문제의 난이도에 있어서 성적이 비슷해 보이지만 확실히 성장했다고 느낍니다. 특히나 B를 풀 때, Priority Queue를 생각해낸 건 너무 뿌듯했고요. PS에 있어서는 많이 늘었지만 CP는 아직 미숙합니다. CP도 잘해두면 좋은 취미가 될 거 같습니다.

 

그리고, 3시간 동안 몰입을 해야 했었는데 그러다 보니 사회에 있는 듯한 기분이 들기도 했습니다. 다음 포스팅에서는 A, B의 솔루션, 풀다가 실패한 C, D에 대한 솔루션, 나머지 문제들 중 시도해볼 만한 문제를 가지고 오겠습니다.

728x90