욤미의 개발일지
[SWEA D2] 1961 숫자 배열 회전 (Python) 본문
728x90
반응형
※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다.
문제
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
90도, 180도, 270도 회전한 모양을 출력
풀이
- 90도, 180도, 270도 회전하는 함수
def rotate90(n, arr):
rotated = []
for i in range(n):
temp = ''
for j in range(n):
temp += str(arr[n-j-1][i])
rotated.append(temp)
return rotated
def rotate180(n, arr):
rotated = []
for i in arr[::-1]:
temp = ''
for j in i[::-1]:
temp += str(j)
rotated.append(temp)
return rotated
def rotate270(n, arr):
rotated = []
for i in range(n):
temp = ''
for j in range(n):
temp += str(arr[j][n-i-1])
rotated.append(temp)
return rotated
T = int(input())
for test_case in range(1, T + 1):
n = int(input())
arr = list(input().split() for _ in range(n))
arr90 = rotate90(n, arr)
arr180 = rotate180(n, arr)
arr270 = rotate270(n, arr)
print(f"#{test_case}")
for i, j, k in zip(arr90, arr180, arr270):
print(f"{i} {j} {k}")
- 90도 회전하는 함수를 여러번 적용
# 90도 회전하는 함수
def rotation(a, N):
new_arr = [[0] * N for _ in range(N)] # NxN 빈 배열 만들기
for i in range(N):
for j in range(N):
new_arr[i][j] = a[N-1-j][i]
return new_arr
T = int(input())
for test_case in range(1, T+1):
n = int(input())
arr = list(input().split() for _ in range(n))
arr90 = rotation(arr, n)
arr180 = rotation(arr90, n)
arr270 = rotation(arr180, n)
print(f"#{test_case}")
for i, j, k in zip(arr90, arr180, arr270):
print(f"{''.join(i)} {''.join(j)} {''.join(k)}")
728x90
반응형
'Coding Test > SWEA' 카테고리의 다른 글
[SWEA D2] 1970 쉬운 거스름돈 (Python) (0) | 2023.02.07 |
---|---|
[SWEA D2] 1966 숫자를 정렬하자 (Python) (0) | 2023.02.06 |
[SWEA D2] 1959 두 개의 숫자열 (Python) (0) | 2023.02.05 |
[SWEA D2] 1954 달팽이 숫자 (Python) (0) | 2023.02.04 |
[SWEA D2] 1948 날짜 계산기 (Python) (0) | 2023.02.02 |
Comments