반응형
문제
https://leetcode.com/problems/rotate-image/
문제 풀기 전
- 반시계로 돌릴 수 있을가 했는데 왠지 복잡할거 같다.
- swap을 하면되겠다.
- 내려가는 대각선으로 한번, 좌우로 한번
직접 푼 풀이
소요시간: 8분(21:17 ~ 21:25) 30분(21:27 ~ 21:57)
#대각선 한번 + 좌우로 한번 회전
class Solution {
public void rotate(int[][] matrix) {
for (int i=0; i<matrix.length; i++) {
for (int j=i+1; j<matrix[i].length; j++) {
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
int n = matrix.length;
for (int i=0; i<matrix.length; i++) {
for (int j=0; j<matrix[i].length/2; j++) {
int temp = matrix[i][j];
matrix[i][j] = matrix[i][n-j-1];
matrix[i][n-j-1] = temp;
}
}
}
}
#반시계방향으로 회전
class Solution {
public void rotate(int[][] matrix) {
int n = matrix.length;
for(int i=0; i<n/2; i++) {
for (int j=0; j<n-n/2; j++) {
//0,0 -> n-1,0
int temp = matrix[n-1-j][i];
matrix[n-1-j][i] = matrix[n-1-i][n-1-j];
matrix[n-1-i][n-1-j] = matrix[j][n-1-i];
matrix[j][n-1-i] = matrix[i][j];
matrix[i][j] = temp;
}
}
}
}
느낀점
- 생각한대로 잘 풀리는 문제였다.
- 솔루션도 별다른게 없었다.
누적되는 알고리즘 접근 설명서
'알고리즘 풀이' 카테고리의 다른 글
.leetcode(39. Combination Sum) (0) | 2021.01.19 |
---|---|
.leetcode(49. Group Anagrams) (0) | 2021.01.18 |
.leetcode(238. Product of Array Except Self) (0) | 2021.01.17 |
.leetcode(647. Palindromic Substrings) (0) | 2021.01.17 |
.leetcode(230. Kth Smallest Element in a BST) (0) | 2021.01.17 |