2021(7)
-
NYPC 2021 예선 | 페인트 칠하기
[문제] N×M 크기의 격자판이 있다. N 개의 행은 1부터 N까지 번호가 매겨져 있고, M 개의 열은 1부터 M까지 번호가 매겨져 있다. 1부터 7까지 일곱 가지의 색을 격자판에 칠할 수 있다. 색을 칠할 때는 격자판의 한 행을 선택해서 그 행에 있는 모든 격자 칸에 한 색을 덧칠할 수 있고, 혹은 격자판의 한 열을 선택해서 그 열에 있는 모든 격자 칸에 한 색을 덧칠할 수 있다. 예를 들어, 아래와 같이 4×4 크기의 격자판이 있다고 하자. 초기에 각 격자 칸에는 아무런 색이 칠해져 있지 않다. 다음 은 3 번 행에 빨간색(1번 색)을 칠하고 3 번 열에 파란색(3번 색)을 칠했을 때의 과정을 보여준다. 각 격자 칸마다 최종적으로 칠해져 있는 색이 주어질 때, 적절히 색을 칠해 주어진 상황이 되도록 ..
2023.07.11 -
NYPC 2021 예선 | 파티
[문제] 기말 시험이 끝난 N 명의 친구들은 파티를 하기로 했다. 파티에 필요한 음식과 물품들을 사기 위해 각자 미리 돈을 사용했다. 친구들은1번부터 번까지 번호가 붙어 있다고 하자. 친구들 중 i 번째 친구가 사용한 돈은 Mi원이다. 친구들의 부담을 동일하게 하기 위해 파티 후에 서로 돈을 주고받아 사용한 금액이 같도록 하려고 한다. 금액이 정확히 나누어 떨어지지는 않을 수 있으므로, 돈을 가장 많이 사용한 친구와 가장 적게 사용한 친구의 금액 차이가 1인 것까지는 허용한다. 3 명의 친구 A, B, C가 파티를 하였고, 각자 사용한 금액이 6000원, 3000원, 1000원이라고 하자. 아래 그림처럼 B가 A에게 334원, C가 A에게 2333원을 주면 각자 사용한 금액이 A는 3333원, B는 3..
2023.05.21 -
NYPC 2021 예선 | 근무표 짜기
[문제] 사회적 거리 두기를 지키기 위해서 넥슨은 재택근무를 실시하고 있다. 다만, 각 개발자들에게는 반드시 사무실에 출근하는 날수가 지정되어 있다. 매일매일 게임 개발자들은 출근할 수도, 재택 근무할 수도 있지만, 주어진 기간 동안 자신에게 주어진 출근하는 날수만큼 반드시 출근해야 한다. 또한, 매일매일 사무실에는 최대 근무할 수 있는 사람 수의 제한이 있으며, 이보다 많은 사람이 출근해서 일할 수는 없다. 예를 들어, 총 일하는 날이 55일이고, 44명의 개발자들마다 반드시 출근해야 하는 날이 다음과 같이 주어졌다고 하자. 각 개발자는 정해진 출근 날수보다 적거나 많이 출근할 수 없다. 만약 55일 동안 매일 최대 출근할 수 있는 사람 수가 차례로 33, 22, 33, 22, 33이라고 하면 다음과 ..
2023.05.20 -
NYPC 2021 예선 | 폭탄 터트리기 풀이
[문제] 다오는 폭탄 터트리기 게임을 하려고 한다. 게임에서는 폭탄 N개가 좌우로 한 줄로 주어진다. 왼쪽에서 i번째 폭탄은 자연수 값 AiAi를 가진다. 값이 X인 폭탄을 클릭하면 그 폭탄과, 폭탄에 연속적으로 인접하면서 값이 X 이상 X+K 이하인 것들이 모두 터진다. 예를 들어, 위 그림에서 K=3이라고 하고, 왼쪽에서 세 번째 폭탄을 터트린 경우 아래와 같은 상황이 된다. 위 그림처럼 폭탄이 터진 자리는 그대로 남아 있어서, 처음에 인접하지 않았던 폭탄의 쌍은 그 이후에도 인접하지 않다. 폭탄을 클릭하는 횟수가 많을수록 점수가 줄어들어서, 다오는 폭탄을 최소 횟수로 클릭해서 게임을 해결하고 싶다. 주어진 폭탄들과 K의 값을 입력으로 받아 최소 클릭 횟수를 계산하는 프로그램을 작성하라. [입력 형..
2022.09.03 -
NYPC 2021 예선 | 레이스 기록 검증 풀이
[문제] 로그 파일이란 프로그램이 실행되면서 발생한 사건들을 기록한 파일을 의미한다. 카트라이더에서는 유저들이 레이스를 시작하고 종료하는 사건이 일어날 때마다, 어떤 시각에 어떤 유저가 레이스를 시작하거나 종료했는지에 대한 정보를 로그 파일에 기록한다. 이러한 로그 파일을 분석하면 게임 도중 발생한 에러나 부정행위 등을 찾아낼 수 있다. 예를 들어, 어떤 유저가 시작한 레이스를 종료하기도 전에 새로운 레이스를 시작했다고 로그 파일에 기록되어 있다면, 게임 프로그램에 버그가 발생했다고 의심할 수 있다. 또한, 정상적인 레이스는 1분 이상이 걸리는데, 어떤 유저가 레이스를 시작한 지 30초 만에 종료했다고 로그 파일에 기록되어 있다면, 그 유저가 정상적이지 않은 방법으로 게임을 플레이했다고 의심할 수 있다...
2022.08.06 -
NYPC 2021 예선 | 계단 풀이
[문제] 배찌는 1층부터 M층까지 있는 건물의 F층에 살고 있다. 배찌는 이 건물에 있는 계단을 이용해서 운동을 하고 싶다. 배찌는 각 층에서 다음과 같은 일 중 하나를 골라서 하나를 진행한다. 현재 배찌가 있는 곳이 X층이고 X
2022.05.18