본문 바로가기
Algorithm/swea

[파이썬]swea 1961: 숫자 배열 회전

by 갈잃자 2023. 2. 8.

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5Pq-OKAVYDFAUq&categoryId=AV5Pq-OKAVYDFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=2&pageSize=10&pageIndex=2 

 

SW Expert Academy

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

swexpertacademy.com


 

단순 구현문제

 

출력이 조금 까다로울 수 있다.

 

본인은 2중for문을 이용하여 출력을 하였고, 띄어쓰기나 줄바꿈은 제어문을 사용하여 제작!

t = int(input())
for tc in range(1, t+1):
    n = int(input())
    arr = []
    for i in range(n):
        lst = list(map(int,input().split()))
        arr.append(lst)

    # 90도
    answer90 = []
    for y in range(n):
        ans90 = []
        for x in range(n-1,-1,-1):
            ans90.append(arr[x][y])
        answer90.append(ans90)

    #180도
    answer180 = []
    for y in range(n-1,-1,-1):
        ans180 = []
        for x in range(n-1,-1,-1):
            ans180.append(arr[y][x])
        answer180.append(ans180)

    #270도
    answer270 = []
    for y in range(n-1,-1,-1):
        ans270 = []
        for x in range(n):
            ans270.append(arr[x][y])
        answer270.append(ans270)
    # 출력
    print(f'#{tc}')
    for y in range(n):
        for x in range(n):
            if x ==n-1:
                print(answer90[y][x], end=' ')
            else:
                print(answer90[y][x], end='')

        for x in range(n):
            if x ==n-1:
                print(answer180[y][x], end=' ')
            else:
                print(answer180[y][x], end='')

        for x in range(n):
            if x ==n-1:
                print(answer270[y][x])
            else:
                print(answer270[y][x], end='')

댓글