SAMSUNG/SSAFY 준비 (swea)

[SWEA 1961번] D2 - 숫자 배열 회전 (Python)

sanadoing_ 2023. 10. 27. 19:38
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

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

728x90