CodeWars 일백 스물 세 번째 문제

Updated:

The Clockwise Spiral

public static int[][] createSpiral(int N) {
    int[][] answer = new int[N][N];
    int index = 1;

    for (int i = 0; i < N; i++){
        for (int j = i; j < N-i; j++) {
            answer[i][j] = index++;
        }

        for (int j = i+1; j < N-i; j++) {
            answer[j][N-i-1] = index++;
        }

        for (int j = i+1; j < N-i; j++) {
            answer[N-i-1][N-j-1] = index++;
        }

        for (int j = i+1; j < N-i-1; j++) {
            answer[N-j-1][i] = index++;
        }
    }

    if (N % 2 != 0) {
        answer[N/2][N/2] = --index;
    }

    return answer;
}
  • 이전에 풀었던 snail 문제에서 익힌 알고리즘이라 쉽게 풀 수 있었다.