728x90
*문제 출처는 정골에 있습니다.
문제 제목: 회전
문제 사이트: https://jungol.co.kr/problem/1229
나의 풀이
입력받는 각도만큼 90도 회전을 계속 해주면된다.
** 90도 회전: list(map(list,zip(*maps[::-1])))
list(map(list,zip(*maps[::-1])))
코드
n = int(input())
maps = [list(map(int,input().split())) for _ in range(n)]
while True:
angles = int(input())
if angles == 0 :
break
for i in range(angles//90):
maps = list(map(list,zip(*maps[::-1])))
for i in maps:
for j in i:
print(j,end=' ')
print()
*참고
(1) zip() 활용해서 회전
- 정사각형, 직사각형 모두 적용 가능
arr = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
## zip
# 시계 방향 90 (= 반시계 방향 270)
arr_90 = list(map(list, zip(*arr[::-1])))
print(arr_90)
# 시계 방향 180 (= 반시계 방향 180)
arr_180 = [a[::-1] for a in arr[::-1]]
print(arr_180)
# 시계 방향 270 (= 반시계 방향 90)
arr_270 = [x[::-1] for x in list(map(list, zip(*arr[::-1])))[::-1]]
print(arr_270)
https://sillon-coding.tistory.com/585
※ 알아야 할 것
- ** 90도 회전: list(map(list,zip(*maps[::-1])))
728x90
'coding test - python > 기본기 문제' 카테고리의 다른 글
기본기 / 정사각형, 직사각형, 정삼각형 회전 정리 / Python 파이썬 (0) | 2024.09.29 |
---|---|
기본기 JUNGOL / 도형 회전1 / Python 파이썬 (0) | 2024.09.26 |
문제 / 배낭(가방) 문제 - 냅색알고리즘 Knapsack algorithm / Python 파이썬 (0) | 2023.02.27 |
문제 / 돌다리 건너기(Bottom-Up) - 동적계획법 / Python 파이썬 (0) | 2023.01.10 |
문제 / 계단오르기(Top-Down : 메모이제이션) - 동적 계획법 / Python 파이썬 (0) | 2023.01.10 |