오늘 알고리즘 시험을 보다가 2차원 배열을 회전시키는 문제를 풀었습니다.
처음 접해보는 알고리즘이라 해결하지 못했지만 다음에 풀이를 하고자 정리해놓겠다!
2차원 배열 회전
public class Study1 {
public static void main(String[] args) {
int[][] arr = {{11, 3}, {5, 9}, {4, 7}};
new Solution().solution(arr);
}
}
/**
* 2차원 배열 회전 시키기
*/
class Solution{
public void solution(int[][] arr) {
int[][] arr2 = new int[arr[0].length][arr.length]; // 행과 열의 위치를 바까준다.
for (int i = 0; i < arr[0].length; i++){
for (int j = 0; j < arr.length; j++){
arr2[i][j] = arr[arr.length - 1 - j][i];
}
}
// 90도가 회전된 것을 확인할 수 있다.
/**
* [11, 3],
* [5, 9],
* [4, 7]
*/
System.out.println(Arrays.deepToString(arr));
/**
* [4, 5, 11],
* [7, 9, 3]
*/
System.out.println(Arrays.deepToString(arr2));
}
}