Beakjoon&프로그래머스/Java
[프로그래머스/Java] 정수를 나선형으로 배치하기
현장
2025. 2. 14. 19:55
-Code
class Solution {
public int[][] solution(int n) {
int[][] answer = new int[n][n];
int y = 0, x = 0;
int[] dy = {0, 1, 0, -1};
int[] dx = {1, 0, -1, 0};
int temp_y, temp_x;
int num = 1;
int idx = 0;
while (num <= n * n) {
answer[y][x] = num++;
temp_y = y + dy[idx];
temp_x = x + dx[idx];
if (temp_y < 0 || temp_x < 0 || temp_y >= n || temp_x >= n
|| answer[temp_y][temp_x] != 0
) {
idx = (idx + 1) % 4;
}
y += dy[idx];
x += dx[idx];
}
return answer;
}
}
dx, dy까지는 생각했으나 temp를 만드는 것을 생각 안하고 있다가 해당 부분을 질문을 통해 알고 해결 했지만 아쉬웠던 문제였습니다.