밍쎄의 코딩공간

프로그래머스 LV.0 - 정수를 나선형으로 배치하기 본문

프로그래머스/프로그래머스 LV.0

프로그래머스 LV.0 - 정수를 나선형으로 배치하기

밍쎄 2023. 8. 10. 00:56
class Solution {
    public int[][] solution(int n) {
        int[][] answer = new int[n][n];
        int[] dx = {-1, 0, 1, 0};
        int[] dy = {0, 1, 0, -1};
        int x = 0, y = 0, d = 1;
        int k = n * n;
        int cnt = 1;
        while(cnt < k){
             int nx = x + dx[d];
             int ny = y + dy[d];
             if(nx < 0 || nx >= n || ny < 0 || ny >= n || answer[nx][ny] > 0)              {
                  d = (d + 1) % 4;
                  continue;
                        }
              answer[x][y] = cnt;
              cnt++;
              x = nx;
              y = ny;
            } 
              answer[x][y] = cnt;
              return answer;
    }
}

https://school.programmers.co.kr/learn/courses/30/lessons/181832

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

728x90