[D2] 달팽이 숫자 - 1954
성능 요약
메모리: 21,232 KB, 시간: 127 ms, 코드길이: 1,148 Bytes
제출 일자
2023-10-18 11:05
출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do
import java.util.*;
import java.io.*;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int[][] map;
// 오른쪽 -> 아래 -> 왼쪽 -> 위
int[] dirX = {0,1,0,-1};
int[] dirY = {1,0,-1,0};
int T = sc.nextInt();
for(int tc = 1; tc <= T; tc++)
{
int N = sc.nextInt();
map = new int[N][N];
int num = 1;
int x = 0;
int y = 0;
int d = 0;
while(num <= N * N){
map[x][y] = num++;
int nextX = x + dirX[d];
int nextY = y + dirY[d];
if(nextX >= N || nextX < 0 || nextY >= N || nextY < 0 || map[nextX][nextY] != 0){
d = (d + 1) % 4;
}
x += dirX[d];
y += dirY[d];
}
System.out.println("#"+tc);
for(int [] arr : map){
for(int n : arr){
System.out.print(n + " ");
}
System.out.println();
}
}
}
}
'알고리즘 - SWEA > D2' 카테고리의 다른 글
[SW expert Academy] SWEA 1946번 간단한 압축 풀기 자바(Java) (0) | 2023.10.18 |
---|---|
[SW expert Academy] SWEA 1948번 날짜 계산기 자바(Java) (0) | 2023.10.18 |
[SW expert Academy] SWEA 1959번 두 개의 숫자열 자바(Java) (0) | 2023.10.18 |
[SW expert Academy] SWEA 1961번 숫자 배열 회전 자바(Java) (0) | 2023.10.18 |
[SW expert Academy] SWEA 1966번 숫자를 정렬하자 자바(Java) (1) | 2023.10.17 |