1961. 숫자 배열 회전

·2023년 5월 19일

출처 : sw expert academy

T = int(input())
for test_case in range(1, T+1):
    print('#'+str(test_case))
    N = int(input())
    nlist = [] # 회전한 배열 저장 할 리스트
    mlist = [] # 입력 받은 배열 저장 리스트
    slist = [['0']*3 for _ in range(N)]
    for _ in range(N):
        mlist.append(list(map(str, input().split())))
    for i in range(3): # 90 / 180 / 270 . 3번 회전
        mlist = list(map(list, zip(*mlist[::-1]))) # 배열 거꾸로 만든 후 행렬 바꾸기
        for j in mlist:
            nlist.append(j)
    nlist = nlist[::-1] # 배열 순서 바꾸기 deque 사용시 안바꿔도됨
    for i in range(3):
        for j in range(N):
            s = nlist.pop() # 가장 뒤쪽부터 뽑아냄
            slist[j][i] = ''.join(s)
    for i in range(N):
        print(' '.join(slist[i]), end=' ')
        print()

배열 행렬 바꾸기
list(map(list, zip(*mylist)))
배열 거꾸로 출력
list[::-1] # 문자열도 가능

profile
🐥

0개의 댓글