728x90
> 파이썬
📖 문제 : 숫자 배열 회전 (Python)
N x N 행렬이 주어질 때,
시계 방향으로 90도, 180도, 270도 회전한 모양을 출력하라.
[제약 사항]
N은 3 이상 7 이하이다.
[입력]
가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.
각 테스트 케이스의 첫 번째 줄에 N이 주어지고,
다음 N 줄에는 N x N 행렬이 주어진다.
[출력]
출력의 첫 줄은 '#t'로 시작하고,
다음 N줄에 걸쳐서 90도, 180도, 270도 회전한 모양을 출력한다.
입력과는 달리 출력에서는 회전한 모양 사이에만 공백이 존재함에 유의하라.
(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)
내 코드
T = int(input())
for test_case in range(1, T + 1):
N = int(input())
board = [list(map(int, input().split())) for _ in range(N)]
board_90 = [[0] * N for _ in range(N)]
board_180 = [[0] * N for _ in range(N)]
board_270 = [[0] * N for _ in range(N)]
for y in range(N):
for x in range(N):
board_90[y][x] = board[N - (x + 1)][y]
for y in range(N):
for x in range(N):
board_180[y][x] = board_90[N - (x + 1)][y]
for y in range(N):
for x in range(N):
board_270[y][x] = board_180[N - (x + 1)][y]
print(f'#{test_case}')
for i in range(N):
print(''.join(map(str, board_90[i])), end=' ')
print(''.join(map(str, board_180[i])), end=' ')
print(''.join(map(str, board_270[i])), end=' ')
print()
swea
https://swexpertacademy.com/main/main.do
728x90
'SAMSUNG > SSAFY 준비 (swea)' 카테고리의 다른 글
[SWEA 1984번] D2 - 중간 평균값 구하기 (Python) (0) | 2023.10.27 |
---|---|
[SWEA 1986번] D2 - 지그재그 숫자 (Python) (0) | 2023.10.27 |
[SWEA 1989번] D2 - 초심자의 회문 검사 (Python) (0) | 2023.10.27 |
[SWEA 1979번] D2 - 어디에 단어가 들어갈 수 있을까 (Python) (0) | 2023.10.27 |
[SWEA 2005번] D2 - 파스칼의 삼각형 (Python) (0) | 2023.10.27 |