룰루코딩

SWEA D2 1961. 숫자 배열 회전 본문

SWEA

SWEA D2 1961. 숫자 배열 회전

rulru01 2024. 11. 17. 00:34

문제

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5Pq-OKAVYDFAUq&categoryId=AV5Pq-OKAVYDFAUq&categoryType=CODE&problemTitle=%EC%88%AB%EC%9E%90+%EB%B0%B0%EC%97%B4&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1

 

SW Expert Academy

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

swexpertacademy.com

 


솔루션

T = int(input())
for t in range(1,T+1):
    N = int(input())
    li = list(list(map(int, input().split())) for _ in range(N))

    li3 = [[0] * N for _ in range(N)]
    for i in range(N):
        for j in range(N):
            li3[i][j] = li[j][N - 1 - i]

    li2 = [[0] * N for _ in range(N)]
    for i in range(N):
        for j in range(N):
            li2[i][j] = li3[j][N - 1 - i]

    li1 = [[0] * N for _ in range(N)]
    for i in range(N):
        for j in range(N):
            li1[i][j] = li2[j][N - 1 - i]

    print(f"#{t}")
    for i in range(N):
        print(*li1[i], sep="", end=" ")
        print(*li2[i], sep="", end=" ")
        print(*li3[i], sep="", end=" ")
        print() if t != T else None

깨달은 점

약간 야매로 푼거같아서 다른 사람들 풀이를 찾아봤는데 다들 비슷하게 푼것같다..

배열을 새로 생성하며 전치하는 형식으로 각 각도마다 만들어서 출력했다.