Welcome! 🙋‍♂️ View more

Engineering 💻/Algorithm

[Leetcode/Python] 48. Rotate Image

DeepFlame 2022. 1. 12. 20:54

 

🤔 문제. 

2차원 배열을 시계방향으로 돌리는 간단한 문제입니다.

 

🤗 풀이. 

[단순 구현]

처음 풀었던 방식은 순수한 구현이었다. 끝에서 부터 한 바퀴씩 돌며 좌표를 담는 xy_list와 값을 담는 v_list를 만든 뒤, v_list 값을 수정해서 matrix를 재구성하였다.

통과는 했지만, 실행 시간이 오래걸렸다.

 

[간단한 방법]

위에서는 2차원 배열을 1차원 배열로 바꿔서 풀려는 시도를 했다. 하지만 2차원 배열을 전체적으로 움직이며 푸는 방법이 있었다. 

  1. matrix를 행을 중심으로 뒤집는다.
  2. matrix를 대각선을 중심으로 뒤집는다.

 

실행속도는 2배 정도 차이난다... 역시 알고리즘 문제는 구현 전에 생각을 해야한다! 😓

반응형

'Engineering 💻 > Algorithm' 카테고리의 다른 글

[자료구조] 힙 (Heaps)  (0) 2022.02.05
[자료구조] Binary Search Tree  (0) 2022.02.05
[Leetcode/Python] 5. Longest Palindromic Substring  (0) 2022.01.12
[Leetcode/Python] 15. 3sum  (0) 2022.01.11
릿코드 파이참 연결  (0) 2022.01.11