From 62932405b864c260e60a744212bab7173795c967 Mon Sep 17 00:00:00 2001 From: "Kang Changgu (Miller)" Date: Sat, 14 May 2022 16:55:10 +0900 Subject: [PATCH] =?UTF-8?q?[Miller]=20BOJ(16926):=20=EB=B0=B0=EC=97=B4=20?= =?UTF-8?q?=EB=8F=8C=EB=A6=AC=EA=B8=B0=201=20-=20=EB=AC=B8=EC=A0=9C?= =?UTF-8?q?=ED=92=80=EC=9D=B4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "src/\353\260\200\353\237\254/BOJ_16926.py" | 47 +++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 "src/\353\260\200\353\237\254/BOJ_16926.py" diff --git "a/src/\353\260\200\353\237\254/BOJ_16926.py" "b/src/\353\260\200\353\237\254/BOJ_16926.py" new file mode 100644 index 0000000..723f053 --- /dev/null +++ "b/src/\353\260\200\353\237\254/BOJ_16926.py" @@ -0,0 +1,47 @@ +from typing import List + + +def solution(n: int, m: int, r: int, arr: List[List[int]]) -> List[List[int]]: + def rotate(): + check: int = min(n, m) // 2 + + for cnt in range(check): + n_max, m_max = n - cnt - 1, m - cnt - 1 + tmp: int = arr[cnt][cnt] + + # 위쪽 변 + for i in range(cnt, m_max): + arr[cnt][i] = arr[cnt][i + 1] + + # 오른쪽 변 + for i in range(cnt, n_max): + arr[i][m_max] = arr[i + 1][m_max] + + # 아래쪽 변 + for i in range(m_max, cnt, -1): + arr[n_max][i] = arr[n_max][i - 1] + + # 왼쪽 변 + for i in range(n_max, cnt, -1): + arr[i][cnt] = arr[i - 1][cnt] + + arr[cnt + 1][cnt] = tmp + + for _ in range(r): + rotate() + + return arr + + +if __name__ == "__main__": + N, M, R = map(int, input().split()) + arr: List[List[int]] = [] + + for _ in range(N): + arr.append(list(map(int, input().split()))) + + answer: List[List[int]] = solution(N, M, R, arr) + + for row in answer: + print(" ".join([str(num) for num in row])) +