Search

SWEA 1961 숫자 배열 회전

태그
구현

문제 설명

N×NN \times N 행렬을 시계 방향으로 90도, 180도, 270도 회전한 모양을 출력하는 문제

예제 입력/출력

입력1
10 3 1 2 3 4 5 6 7 8 9 6 6 9 4 7 0 5 8 9 9 2 6 5 6 8 5 4 9 8 2 2 7 7 8 4 7 5 1 9 7 9 8 9 3 9 7 6 …
Plain Text
복사
출력1
#1 741 987 369 852 654 258 963 321 147 #2 872686 679398 558496 952899 979157 069877 317594 487722 724799 997427 894586 495713 778960 562998 998259 694855 507496 686278 …
Plain Text
복사

제약 조건

3N73 ≤ N ≤ 7

문제 풀이

브루트 포스 - O(N2)O(N^2)
문제에서 시키는 대로 구현하면 되는 단순 구현 문제에 해당
N×NN \times N 행렬을 90도 회전하는 방법

풀이 코드

def rotate_matrix(m): global N ret = [[0] * N for _ in range(N)] for i in range(N): for j in range(N): ret[j][N - 1 - i] = m[i][j] return ret T = int(input()) for tc in range(1, T + 1): N = int(input()) matrix = [] for n in range(N): matrix.append(list(input().split())) # Solve ans = [] for _ in range(3): matrix = rotate_matrix(matrix) ans.append(matrix) # Output print(f"#{tc}") for i in range(N): for j in range(3): print("".join(ans[j][i]), end=" ") print()
Python
복사

참고 자료