PS
4 posts
2021 SCPC 예선 후기 및 문제 풀이

일을 하고 있지만 여전히 학생 신분을 벗어나진 않았기에 삼성전자에서 주관하는 대학생 프로그래밍 경진대회 SCPC(Samsung Collegiate Programming Cup)에 참여하게 되었다. 퇴근하기 직전까지 JS로 코드를 짜다가 C++을 사용하려 하니 ===과 const를 난발했지만, 예선은 시간적으로는 여유가 있기 때문에 구현 속도보다는 생각에 집중하며 진행할 수 있었다. 나는 총 3문제 반 정도를 풀었다. 다 풀지는 못했지만 그래도 나름 푼 문제들이 있기에 푼 방법에 대해서 오랜만에 문제 풀이를 공유를 해보려고 한다. 친구들 이 문제는 사람들이 주어지고 각 사람마다 친구의 번호를 가지고 있다. 이때 각 사람은 자신의 친구의 친구들과도 다 친구가 될 수 있다고 할 때 이런 친구들의 disjoint set의 개수를 구하는 문제이다. union find를 통해 set을 만들고 set의 개수를 출력하도록 했다. 이진수 이 문제 속에서 이진수 a에 문제에서 제공하는 룰을 거치게…

2020 ACM ICPC 예선 참가 후기 및 문제 풀이 (5 Solved)

마지막 ICPC 참가 내년 10월에는 학교에 있을 가능성이 거의 0에 가깝기에 이제 진짜 마지막으로 ICPC에 참여하게 되었다. 작년에 Negend라는 팀명으로 함께 참가했던 진혀쿠님과 갇예준이 다 재학생인 덕분에 또다시 같은 팀으로 참가하게 되었다. 작년에 등록 문제를 제외하고 3문제를 풀었기에 등수보다는 4문제 푸는 것을 목표로 참가했다. 대회 후기 작년에는 대회 전날 엄청 긴장했었는데 오늘은 그런 것도 없었고 확실히 마음이 편했다. 하지만 막상 대회 시작하니 한국어 독해에 조금은 문제가 생겼었다 ㅋㅋ 진혁이랑 예준이랑 작년 ICPC 이후로 처음 같이 풀었는데 각자 자신의 방법으로 팀에 기여했다. 그리고 어찌어찌 문제를 풀어나가다 보니 총 5문제를 풀어낼 수 있었다! 등록 없이 5문제라니 기분 좋다~~ㅎㅎㅎㅎ 이 포스팅을 통해 간단하게 우리가 풀었던 5문제의 접근법과 코드를 공유하고자 한다. 문제 풀이 문제는 우리가 쉽게 접근했던 문제 순으로 나열했다. Problem I (P…

Codeforces Educational Round 77 후기 및 문제 풀이

후기 A부터 C번까지 수학 문제만 내버렸다.. 간신히 C번까지 풀긴 했는데 제출을 어마무지하게 많이 해버렸다… 제출 횟수가 아쉬운 시험이었다. C번에서 1시간 넘게 걸렸는데 D를 못본건 아쉽지만 어떻게든 C를 풀었다는 사실에 만족한다! A. Heating 문제 링크 이 문제는 이해하는데만 10분이 걸렸다.(영어가 안되는건지 그냥 이해가 너무 어려웠다.) 이 문제는 크게 두 경우로 나눌 수 있다. (10000, 10)처럼 설치할수 있는 라디에이터 개수가 섹션의 개수보다 많거나 같은 경우와 그렇지 않은 경우이다. (10000, 10)과 같은 경우에는 그냥 라디에이터를 각 위치에 1 만큼씩 배치하는게 이득이다. 하지만 나머지 경우에는 총 섹션을 라디에이터 개수로 나눈 값(m)을 구하고혹시 나머지가 n만큼 있다면 m값을 가지는 애들 중에 n만큼만 1을 더해준다. B. Obtain Two Zeroes 문제 링크 A번보다 B번이 훨씬 쉬운듯 했다. 먼저, a, b 두 수 중에 큰 값을 a에…

Codeforces Round 600 (Div. 2) 후기 및 문제 풀이 (드디어 코포 블루)

후기 블루의 문턱에 가까워지고 있음을 느끼며 쳤던 시험.. 등록하는 걸 깜빡해서 추가 신청하고 허둥지둥 시험을 쳐버렸다. 결과는… 4문제를 풀어 3373점으로 역대 최고점…!!!! 블루 넘나 싶었는데 아니나 다를까 이번 휴학의 하나의 목표인 코드포스 블루를 찍어버렸다!!ㅎㅎㅎ 간단하게 문제 풀이를 해보도록 하겠다! A. Single Push 문제 링크 이 문제는 차이가 같은 구간이 1개 이하로 있다면 YES 아니면 NO를 출력하면 되는 문제이다. 마음이 급하다 보니 간단한 구현 문제인데도 허둥지둥했다. 다행히 10분만에 제출한 게 정답이 됐다. B. Silly Mistake 문제 링크 이 문제도 어떻게 보면 현재 오피스에 오늘 사람들이 한번만 들어왔다가 잘 나갔는지 확인해주면서 사무실에 아무도 없을 때 날짜를 바꿔버리면 되는 구현 문제이다. 근데 문제는 구현하면서 또 마음이 급하니까 실수가 많아진다는 것이다. 문제 제목대로 silly mistake가 많아진다. 다 돌았는데도 오…