CS/Data Structure & Algorithm
-
01. 이차원 배열 회전CS/Data Structure & Algorithm 2021. 4. 6. 12:56
코딩테스트 문제를 풀다보면 이차원 배열을 시계방향으로 90도 회전할 일이 종종 있다. 00 > 02 01 > 12 02 > 22 10 > 10 11 > 11 12 > 21 20 > 00 21 > 10 22 > 20 위 표를 자세히 보면 A(i, j)에서 90도 회전을 하면 A(m - 1 - j, i)로 넘어간다는 것을 확인 할 수 있다. 해서 이중 for문을 이용해 간단하게 구현할 수 있을 줄 알았는데 array deep copy를 하는 데에서 헤메고 말았다. 분명히 [...arr]로 Deep Copy를 했다고 생각했는데 arr를 변경하자 복사한 배열인 tmpArr가 함께 변경되는 것이었다. 이중 배열이다 보니 안의 배열들은 그대로 shallow copy가 되기 때문이었고, 결국 배열의 각 행을 탐색해 ..