문제 https://www.acmicpc.net/problem/17822 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀 www.acmicpc.net 풀이 원판을 반시계방향으로 회전하는 것은 배열의 맨 앞 원소를 맨 뒤에 보내면되고, 시계방향으로 회전하는 것은 맨 뒤의 원소를 맨 앞에 보내면됨. 원판을 회전시킨 이후에 인접한 원소를 확인해야하므로 DFS를 이용하였음. check 메서드에서 temp변수는 원판에서 지워진 원소가 있는지 확인하는 변수고, temp_check는 0이 아닌 원소를 시작으로 인접한 원소들을 확인할때 ..
문제 https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 풀이 공기청정기의 위쪽 부분과 아래쪽부분을 나눠서 생각하였음. 한 칸씩 이동하는 것이 아닌, 각 행마다 직접 값을 넣어서 new라는 배열에 추가해주었음. 위쪽 공기순환을 우선 보면, 첫 번째 행은 가장 왼쪽의 원소만 아래로 내려가고 다음 행의 마지막 원소만 끝에 추가해주면 첫 번째 행이 완성됨. 이렇게 첫번째와 마지막 행만 따로 구현하고, 가운데 부분은 다 동일하게 끝부분만 이동하므로 세 ..
문제 https://www.acmicpc.net/problem/17140 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 R연산은 행을 정렬하는 것임. 그렇기때문에 각 행마다 딕셔너리를 이용해 원소의 개수를 정리해준 뒤, sorted메서드를 이용해서 (key,value)로 정렬해주었음. 정렬하고나면 각 원소의 길이가 다를 것임. 그래서 longCount라는 변수에 가장 긴 원소의 길이를 저장해주고, 각 행을 확인하며 longCount보다 짧을 시에 뒤에 0을 longCount - len(lis..
문제 https://www.acmicpc.net/problem/20058 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net 풀이 책을 많이 안읽어서 그런지 문제 이해하는데 힘들었음. 일단 내가 헷갈린 부분은 먼저, "이후 얼음이 있는 칸 3개 또는 그 이상과 인접해있지 않은 칸은 얼음의 양이 1 줄어든다." 임. 무슨 말인가 했는데 알고보니 주변에 얼음이 3개보다 적으면 얼음이 줄어든다는 얘기였음. 다음은 "첫째 줄에 남아있는 얼음 A[r][c]의 합을 출력하고, 둘째 줄에 가장 큰 덩어리가 ..
문제 https://www.acmicpc.net/problem/15685 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커 www.acmicpc.net 풀이 드래곤커브를 회전시켜서 끝점에 붙이기만하면됨. 시계방향으로 회전한다는 것은 x, y가 y,-x로 바뀌는 것임. 근데 기준이 원점이 아니므로 원점으로 옮긴 후에 y, -x로 바꾸고 다시 원점으로 이동시킨만큼 더해주어서 회전된 좌표를 구했음. 나는 그때그때의 드래곤커브 좌표들을 전부 result라는 배열에 담아서 확인했음. 드래곤커브를 회전한 이후에 끝점에 붙여야..
- Total
- Today
- Yesterday