본문 바로가기
알고리즘 풀이/SWEA

[SWEA][JAVA] 1961. 숫자 배열 회전

by cornsilk-tea 2022. 1. 16.
package level_2;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class SW_1961 {

	public static void main(String[] args) throws NumberFormatException, IOException {
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		StringTokenizer st;
		int T = Integer.parseInt(br.readLine());

		for (int test_case = 1; test_case <= T; test_case++) {
			int N = Integer.parseInt(br.readLine());
			int[][] arr = new int[N][N];
			int[][] arr90 = new int[N][N];
			int[][] arr180 = new int[N][N];
			int[][] arr270 = new int[N][N];

			for (int a = 0; a < N; a++) {
				st = new StringTokenizer(br.readLine());
				for (int b = 0; b < N; b++) {
					arr[a][b] = Integer.parseInt(st.nextToken());
				}
			}
			for (int a = 0; a < N; a++) {
				for (int b = 0; b < N; b++) {
					arr90[b][N - 1 - a] = arr[a][b];
					arr180[N - 1 - a][N - 1 - b] = arr[a][b];
					arr270[N - 1 - b][a] = arr[a][b];
				}
			}
			bw.write("#" + test_case + "\n");
			for (int a = 0; a < N; a++) {
				for (int cnt = 0; cnt < 3; cnt++) {
					for (int b = 0; b < N; b++) {
						if (cnt == 0) {// arr90
							bw.write(arr90[a][b] + "");
						} else if (cnt == 1) {// arr180
							bw.write(arr180[a][b] + "");
						} else {// arr270
							bw.write(arr270[a][b] + "");
						}
					}
					bw.write(" ");
				}
				bw.write("\n");
			}
		}
		bw.flush();
		bw.close();
	}
}