파이썬 reverse, reversed의 차이
https://itholic.github.io/python-reverse-reversed/
행렬 회전을 reversed를 통해 구현
def rotate(key):
# *key는 껍질(Unpacking)을 벗겨내는 역할을 합니다. [] () {}
# [(0, 0, 0), (1, 0, 0), (0, 1, 1)] *key
# [(0, 1, 0), (0, 0, 1), (0, 0, 1)] zip(*key)
# [(0, 1, 0), (1, 0, 0), (1, 0, 0)] reversed
# [[0, 1, 0]] ... -> list
# 순수 함수
return [list(reversed(i)) for i in zip(*key)]