728x90
https://www.acmicpc.net/problem/16926
[문제]
[입력]
4 4 2
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
[출력]
3 4 8 12
2 11 10 16
1 7 6 15
5 9 13 14
package day05.ws;
import java.util.Scanner;
public class BJ16926 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt(); // 행
int M = sc.nextInt(); // 열
int R = sc.nextInt(); // 회전
int[][] arr = new int[N][M];
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
arr[i][j] = sc.nextInt();
}
}
int square = Math.min(M, N) / 2; // 회전해야 하는 사각형 갯수
for (int r = 0; r < R; r++) { // 회전횟수체크
for (int i = 0; i < square; i++) {
// 사각형갯수 체크
int temp = arr[i][i];
for (int j = i + 1; j < M - i; j++) //좌
arr[i][j - 1] = arr[i][j];
for (int j = i + 1; j < N - i; j++) //상
arr[j - 1][M - 1 - i] = arr[j][M - 1 - i];
for (int j = M - 2 - i; j >= i; j--)//우
arr[N - 1 - i][j + 1] = arr[N - 1 - i][j];
for (int j = N - 2 - i; j >= i; j--)//하
arr[j + 1][i] = arr[j][i];
arr[i + 1][i] = temp;
}
}
for (int[] r : arr) {
for (int c : r) {
System.out.print(c + " ");
}
System.out.println();
}
sc.close();
}
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
[Java] 백준4485_녹색옷입은애가젤다지 (0) | 2022.04.07 |
---|---|
[Java] 백준2531_회전초밥 (0) | 2022.04.06 |
[Java] 백준1463_1로만들기 (0) | 2022.03.31 |
[Java]백준1149_RGB거리 (0) | 2022.03.31 |
[Java] 백준2493_탑문제 (0) | 2022.03.16 |
댓글