반응형
리뷰
코드가 조잡스럽긴 하지만 1트만에 솔!
문제 풀이
1. 출력에 테스트케이스 값이 필요하니 1, t + 1범위로 for문 시작
2. 회전시킬 n * n 배열을 문자열로 받아주었다.
3. 90, 180, 270도 배열을 초기화 해주고 문자열 인덱싱을 통해 각 배열에 알맞은 숫자를 append 해주었다.
4. 테스트 케이스를 출력해 주고 join을 통해 한줄에 n개의 숫자가 나오도록 출력해 주었다.
참고 사항
감이 잡히지 않을 경우 예제를 참고하여 시도해보면 금방 감이 잡힌다.
정답 코드
def q1961():
# SWEA 1961번 D2 숫자 배열 회전 파이썬
t = int(input())
for i in range(1, t + 1):
n = int(input())
array = ''
for _ in range(n):
lst = list(map(str, input().split()))
for temp in lst:
for char in temp:
array += char
angle90 = []
angle180 = []
angle270 = []
for j in range(n):
for k in range(n - 1, -1, -1):
angle90.append(array[j + k * n])
for j in range(len(array) - 1, -1, -1):
angle180.append(array[j])
for j in range(n - 1, -1, -1):
for k in range(n):
angle270.append(array[j + k * n])
print(f'#{i}')
for j in range(n):
print(''.join(angle90[j * n:j * n + n]), ''.join(angle180[j * n:j * n + n]), ''.join(angle270[j * n:j * n + n]))
q1961()
728x90
반응형
'알고리즘 공부 > 파이썬(Python)' 카테고리의 다른 글
SWEA 1486번 D4 장훈이의 높은 선반 파이썬 (0) | 2024.06.26 |
---|---|
SWEA 12712번 D2 파리퇴치3 파이썬 (0) | 2024.06.26 |
SWEA 1959번 D2 두 개의 숫자열 파이썬 (0) | 2024.06.26 |
SWEA 2063번 D1 중간값 찾기 파이썬 (0) | 2024.06.26 |
SWEA 2058번 D1 자릿수 더하기 파이썬 (0) | 2024.06.26 |