회전을 표현하고자, 배열에서 회전 값을 갱신하는 방식으로 풀었다
1) 이차원 배열의 경우, 값만 복사하기 위해서는 다음과 같이 작성한다.
for(int i=0;i<N;i++)
map[i]=d[i].clone();
2) 배열 주소값을 복사하기 위해서는
map=d.clone();
import java.util.*;
class Solution
{
static int d[][];
static int N;
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int T;
T=sc.nextInt();
for(int test_case = 1; test_case <= T; test_case++)
{
N=sc.nextInt();
d=new int[N][N];
for(int i=0;i<N;i++) {
for(int j=0;j<N;j++) {
d[i][j]=sc.nextInt();
}
}
String[][] str=new String[N][3];
StringBuffer sb;
for(int i=0;i<3;i++) {
rotate();
for(int j=0;j<N;j++) {
sb=new StringBuffer("");
for(int k=0;k<N;k++) {
sb.append(d[j][k]);
}
str[j][i]=sb.toString();
}
}
System.out.println("#"+test_case);
for(int i=0;i<N;i++) {
for(int j=0;j<3;j++) {
System.out.print(str[i][j]+" ");
}
System.out.println();
}
}
}
//90도 회전 함수
static void rotate() {
int[][] map=new int[N][N];
for(int i=0;i<N;i++)
map[i]=d[i].clone();
for(int i=0;i<N;i++) {
for(int j=0;j<N;j++) {
d[i][j]=map[N-1-j][i];
}
}
}
}
'코테 공부' 카테고리의 다른 글
[DFS]주사위 굴리기2(23288번, 자바) (0) | 2023.01.12 |
---|---|
[SWEX] 최적의 경로(1247번, 자바) (0) | 2023.01.03 |
[DP]조 짜기(백준 2229번, 자바)☆☆☆☆☆ (0) | 2022.12.20 |
컨베이어 벨트 위의 로봇(백준 20055번), 자바(☆) (1) | 2022.12.20 |
주사위 굴리기(백준 14499번), 자바(☆) (0) | 2022.12.19 |