coding test - python/기본기 문제
기본기 JUNGOL / 회전 / Python 파이썬
sillon
2024. 9. 26. 18:05
728x90
반응형
*문제 출처는 정골에 있습니다.
문제 제목: 회전
문제 사이트: https://jungol.co.kr/problem/1229
문제 - JUNGOL
history 최근 본 문제
jungol.co.kr
나의 풀이
입력받는 각도만큼 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
[삼성 SW 역량테스트 대비] 빈출 개념 6가지 (배열 회문, 조합, 순열 등)
1. 회전(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)# 시계 방향 1
sillon-coding.tistory.com
※ 알아야 할 것
- ** 90도 회전: list(map(list,zip(*maps[::-1])))
728x90
반응형