1961 - 숫자배열회전

박재현·2022년 2월 18일
0

알고리즘 부수기

목록 보기
34/43
post-thumbnail

문제 설명

링크

문제 풀이

lotaion 전과 후의 i, j에 대한 규칙을 찾는다.
90도를 lotaion 할 때마다 after[i][j] = before[j][len(after) - i - 1]의 규칙성을 가지고 있다.

  1. 위의 작업을 하는 lotaion함수를 만든다.
  2. first, second, third에 각각 90,180, 270도 돌린 결과 배열을 넣는다.
  3. zip내장함수를 활용해 print를 출력한다.

코드

T = int(input())
for tc in range(1, T+1):
    N = int(input())
    arr = [list(input().split()) for _ in range(N)]
    firstLotation = [[0] * N for _ in range(N)]
    secondLotation = [[0] * N for _ in range(N)]
    thirdLotation = [[0] * N for _ in range(N)]

    firstLotation = lotation(arr, N)
    secondLotation = lotation(firstLotation, N)
    thirdLotation = lotation(secondLotation, N)

    print(f'#{tc}')
    for first, second, third in zip(firstLotation, secondLotation, thirdLotation):
        print(f'{"".join(map(str, first))} {"".join(map(str, second))} {"".join(map(str,third))}')
profile
공동의 성장을 추구하는 개발자

0개의 댓글