Rotate 함수를 선언해서
배열을 회전시키기!
직접 회전하기 전과 회전한 후의 인덱스 변화를
살펴보고 규칙을 찾아서 함수를 정의해주면 된다.
시계방향은 아래와 같다!
자바 출력문은 아래 링크에 따로 정리해두었으니
참고하자!
https://eboong.tistory.com/555?category=1019810
import java.util.Scanner;
public class Solution {
// 회전 함수
public static int[][] Rotation(int[][] arr){
int[][] result=new int[arr.length][arr.length];
// 1 2 3 7 4 1
// 4 5 6 8 5 2
// 7 8 9 9 6 3
// 0,0 -> 0,2
// 1,0 -> 0,1
// 2,0 -> 0,0
for(int i=0; i<arr.length; i++){
for(int j=0; j<arr.length; j++){
result[i][j]=arr[arr.length-1-j][i];
}
}
return result;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T;
T = sc.nextInt();
for (int test_case = 1; test_case <= T; test_case++) {
int N=sc.nextInt();
int[][] array=new int[N][N];
int answer=0;
for(int i=0; i<N; i++){
for(int j=0;j<N; j++){
array[i][j]=sc.nextInt();
}
}
// 시계 방향으로 90도, 180도, 270도 회전한 모양을 출력하라.
int[][] result_90=Rotation(array);
int[][] result_180=Rotation(result_90);
int[][] result_270=Rotation(result_180);
System.out.printf("#%d\n",test_case);
for(int i=0; i<N; i++){
// 90도 회전
for(int j=0; j<N; j++){
System.out.print(result_90[i][j]);
}
System.out.print(" ");
// 180도 회전
for(int j=0; j<N; j++){
System.out.print(result_180[i][j]);
}
System.out.print(" ");
// 270도 회전
for(int j=0; j<N; j++){
System.out.print(result_270[i][j]);
}
System.out.println();
}
}
}
}
'여니의 취준 준비 > 코딩테스트 (Java)' 카테고리의 다른 글
[4396] 지뢰찾기 in Java (0) | 2022.08.01 |
---|---|
[20546] 기적의 매매법 in Java (0) | 2022.07.29 |
[SWEA] 2001. 파리 퇴치 in python (0) | 2022.07.11 |
[SWEA] 1979. 어디에 단어가 들어갈 수 있을까 in Java (0) | 2022.07.11 |
[SWEA] 1959. 두 개의 숫자열 in JAVA (0) | 2022.07.08 |