문제) 배열돌리기1
package algorithm_lab.day05.q1;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
//입력 처리
int H = sc.nextInt();
int W = sc.nextInt();
int R = sc.nextInt();
int[][] field = new int[H][W];
sc.nextLine();
for(int i=0; i<H; i++) {
for(int j=0;j<W;j++) {
field[i][j]=sc.nextInt();
}
sc.nextLine();
}
int[] dx = {0, 1, 0, -1};
int[] dy = {1, 0, -1, 0};
int cnt = Math.min(H, W)/2;
//구현
for(int i=0;i<R;i++) {
for(int j=0;j<cnt;j++) {
int a = j;
int b = j;
int temp = field[a][b];
int idx=0;
while(idx<4) {
int A = a+dx[idx];
int B = b+dy[idx];
if(A>=j&&B>=j&&A<H-j&&B<W-j) {
field[a][b]=field[A][B];
a=A;
b=B;
}else {
idx+=1;
}
}
field[j+1][j]=temp;
}
}
//출력
for (int i=0;i<H;i++) {
for(int j=0;j<W;j++) {
sb.append(field[i][j]).append(" ");
}
sb.append("\n");
}
System.out.println(sb.toString());
}
}