[SWEA][Python]#1961. 숫자 배열 회전

MEIN_FIGUR·2021년 7월 30일
0

SWEA_문제풀이

목록 보기
4/21

📌풀이


내가 쓴 풀이(성공)

#시계방향 회전 90도
def clockwise(key) :
    return list(zip(*key[::-1]))


T = int(input())


for test_case in range(1, T+1):
    n = int(input())
    #각 케이스의 결과를 저장할 리스트 result
    #각 케이스의 회전시킬 배열을 저장할 리스트 array
    result = [[] for _ in range(n)]
    array = []
    #회전시킬 배열 받아와서 저장
    for i in range(n):
        array.append(list(map(int,input().split())))
    
    #90도 회전을 3번 시킴(90, 180, 270)
    for i in range(3):
        array = clockwise(array)
        
        #회전시킨 결과를 결과 저장용 리스트에 출력 형태를 맞춰 저장
        for j in range(n):
            result[j].append(''.join(map(str,array[j])))
    
    print(f'#{test_case}')
    for i in range(n):
        print(' '.join(result[i]))
  • 배열을 회전시키는 함수 clockwise가 핵심
  • 회전시킨 결과를 저장할 result 리스트 생성
    • 회전시킨 결과를 출력할 때 90도 | 180도 | 270도 의 형태로 나타나기 때문에 전부 다 회전시킨 후 결과를 출력해야 함


📌후기


프로그래머스 문제 중 자물쇠와 열쇠 를 푼 적이 있어서, 배열을 회전 시키는 법을 알아 빠르게 해결할 수 있었다! 문제를 더 많이 풀어야겠다고 느꼈다!

https://programmers.co.kr/learn/courses/30/lessons/60059

profile
Growing Developer

0개의 댓글