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
반응형