728x90
def rotated(array_2d):
list_of_tuples = zip(*array_2d[::-1])
return [list(elem) for elem in list_of_tuples]
# return map(list, list_of_tuples)
테스트
arr = [[1,2,3],[4,5,6],[7,8,9]]
nm_arr = [[1,2],[3,4],[5,6]]
print(rotated(arr))
print(rotated(nm_arr))
위의 예시를 실행시키면 결과는 아래와 같다. 꼭 N^N 배열이 아니더라도 가능하다.
안경잡이개발자 "나동빈" 님의 리스트 90도 회전 코드
def rotated(a):
n = len(a)
m = len(a[0])
result = [[0]* n for _ in range(m)]
for i in range(n):
for j in range(m):
result[j][n-i-1] = a[i][j]
return result
이런 훨씬 알아보기 쉬운 방법도 있다. 방법은 여러가지다.
'프로그래밍 > 기억노트' 카테고리의 다른 글
[intelliJ] 인텔리제이 다중 커서 (multi-cursor) (1) | 2020.09.04 |
---|---|
[python] 진행 방향 시계,반시계 방향 꺾기 돌리기 (0) | 2020.09.01 |
[python] 주어진 수가 소수인지 판별하기 (0) | 2020.08.26 |
[python] sort 를 할 때 2개의 key 를 서로 다른 순서로 정렬하기 (2 key 2 order) (0) | 2020.08.25 |
[python] 입력받은 문자열 개행 지우기와 그 중요성 (0) | 2020.08.15 |