프로그래머스/Lv. 0(코딩 기초 트레이닝)

[프로그래머스 코딩테스트] 특별한 이차원 배열 1(Java)

Sigfriede 2023. 5. 4. 01:40

  문제 설명

  정수 n이 매개변수로 주어질 때, 다음과 같은 n x n 크기의 이차원 배열 arr를 return 하는 solution 함수를 작성해 주세요.

  • arr[i][j] (0 <= i, j < n)의 값은 i = j라면 1, 아니라면 0입니다.

 

  제한사항

  • 1 <= n <= 100

 

  입출력 예

n result
3 [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
6 [[1, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0], [0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 1]]
1 [[1]]
class Solution {
    public int[][] solution(int n) {
        int[][] answer = new int[n][n];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j <= i; j++) {
                answer[i][j] = 0;
                if (i == j) {
                    answer[i][j] = 1;
                }
            }
        }
        return answer;
    }
}

  answer 배열을 생성합니다. n x n 크기이므로 각 행과 열의 크기에 n을 할당합니다. 이중 for문을 이용하여 풀이했습니다. 바깥 for문이 n만큼 순회하며 행이 됩니다. 안쪽 for문이 i만큼 순회하며 열이 됩니다. answer의 [i][j]번째 인덱스에 0을 할당합니다. 만약 i와 j의 값이 동일하다면 answer의 [i][j]번째 인덱스에 1을 할당합니다.