본문 바로가기

전체 글123

[백준 17144] 미세먼지 안녕! (C++) A. 문제설명 https://www.acmicpc.net/problem/17837 자세한 설명은 링크참조 1. R * C 칸의 방에 미세먼지 양 정보가 주어짐 2. 동시에 공기청정기 위치 (r, c)도 주어짐. 공기청정기는 세로 2칸 크기 3. 매 초마다 미세먼지 확산과 공기청정기 작동이 일어남 4. 미세먼지가 인접한 네 방향으로 확산 4-1. 공기청정기가 있거나, 벽이면 그 방향으로는 확산 X 4-2. 확산되는 양은 먼지량/5이고 소수점은 버린다. 4-3. 기존 칸에 남은 미세먼지의 양은 '먼지량 - (먼지량/5) * (확산된 방향의 개수)' 5. 공기청정기 작동 5-1. 위쪽은 반시계, 아래쪽은 시계방향으로 벽을 타고 공기이동 5-2. 먼지는 바람의 방향대로 한 칸씩 이동. 바람은 먼지없는 바람이고,.. 2020. 3. 5.
[백준 17140] 이차원 배열과 연산 (C++) A. 문제설명 https://www.acmicpc.net/problem/17140 자세한 설명은 위 링크에서 1. 3 * 3 배열이 존재 2. 배열에 매 초마다 연산을 적용 2-1. R 연산: 배열 A의 모든 행에 대해서 정렬을 수행한다. 행의 개수 ≥ 열의 개수인 경우에 적용 2-2. C 연산: 배열 A의 모든 열에 대해서 정렬을 수행한다. 행의 개수 < 열의 개수인 경우에 적용 3. 여기서 정렬의 의미는 각 행 또는 열 내 숫자들을 계수, 숫자들이 발생한 횟수를 조건에 맞추어 정렬한다는 것 * [1, 1, 2, 3, 3] 의 배열이 존재한다고 가정. 1이 2개, 2가 1개, 3이 2개이므로 [1, 2, 2, 1, 3, 2]의 새로운 배열을 만듦 4. 새로 만든 배열은 아래와 같이 정렬됨 4-1. 등장.. 2020. 3. 5.
[백준 17837] 새로운 게임 2 (C++) A. 문제설명 https://www.acmicpc.net/problem/17837 문제의 자세한 설명은 위 링크에 자세하게 나와있으니 각설하고, 핵심을 요약하자면 1. N * N 체스판이 존재 2. 각 체스판의 엔트리에는 흰색 / 빨간색 / 파란색으로 표시 3. 체스판 위에 말들을 올림(숫자) 4. 각 말들은 이동방향이 정해져있고, 각 턴마다 해당 방향으로 한칸씩 이동 5. 각 말들은 이미 다른 말이 점유하고 있는 칸으로도 이동할 수 있는데, 5-1. 말 A가 말 B가 있는 위치로 이동하면 위에 올라탈 수 있음. 즉 A | B 에서 | A/B 로 올라타게 됨 5-2. 이미 말 여러개가 겹쳐져 있는 칸에서 말이 이동시, 위에 태우고 있는 말들을 같이 이동시킴. 즉 A/B | C 에서 B가 C쪽으로 이동하면.. 2020. 3. 5.