[Python] 부분 90도 회전

yoonene·2022년 10월 15일
0

알고리즘

목록 보기
27/62

시계
pr, pc = sr + c, sc + N - 1 - r
반시계
pr, pc = sr + N - 1 - c, sc + r

arr = [[1, 2, 3, 4], [7, 8, 9, 10], [13, 14, 15, 16], [19, 20, 21, 22]]

# 시계
# tmp = [elem[:] for elem in arr]
tmp = [[-1 for _ in range(4)] for _ in range(4)]
for sr in range(0, 4, 2):
    for sc in range(0, 4, 2):
        for r in range(2):
            for c in range(2):
                nr, nc = sr + r, sc + c
                pr, pc = sr + c, sc + 2 - 1 -r
                tmp[pr][pc] = arr[nr][nc]
# 반시계
for sr in range(0, 4, 2):
    for sc in range(0, 4, 2):
        for r in range(2):
            for c in range(2):
                nr, nc = sr + r, sc + c
                pr, pc = sr + 2 - 1 - c, sc + r
                tmp[pr][pc] = arr[nr][nc]
profile
NLP Researcher / Information Retrieval / Search

0개의 댓글