회전
-
[ 알고리즘 TIP ] 2차원 배열 회전알고리즘 2024. 2. 20. 10:01
여러 문제에서 2차원 배열을 회전시켜야 하는 경우가 많다 가령, 2048같은 구현 문제를 생각하면 한쪽 방향으로 값들을 이동 시켜야하는데 이걸 회전을 통해서 항상 아래로 내리게 한다면 좀 편하게 느끼고 접근할 수 있다! ( 물론 내 생각이다 ) 방법은 2가지가 있다 ( 편한대로 쓰세요 ) 1. 2차원 배열을 90도 회전 시키고 필요한 만큼 반복 시키기 [ 아래의 코드를 적절히 변경해보자!! ] 2. 90, 180, 270, 360 등에 대해서 나올 수 있는 4가지에 대해서 정의해준다. ( 이러면 -90도도 가능 ) 문제에 따라서 다른 방법을 선택하는게 가독성 측면 & 풀이 시간속도에 영향을 줄 것 같다. 전체 코드 def rotate(tmp_arr, d): n = len(tmp_arr) new_arr =..