특별한 이차원 배열 1

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

  • arr[i][j] (0 ≤ i, j < n)의 값은 i = j라면 1, 아니라면 0입니다.
특별한 이차원 배열 1Lv.0

181833

https://school.programmers.co.kr/learn/courses/30/lessons/181833?language=javascript

해설

주어진 정수 n에 대해 n x n 크기의 단위 행렬(identity matrix)를 생성합니다. 단위 행렬은 대각선 상의 원소들이 1이고, 나머지 원소들은 모두 0인 정사각 행렬입니다.

  • Name
    외부 for 루프
    Type
    Description

    i가 0부터 n-1까지 반복합니다. 이 루프는 행렬의 각 행(row)을 생성합니다.

  • Name
    내부 배열 초기화
    Type
    Description

    각 행에 대해 row라는 빈 배열을 선언합니다.

  • Name
    내부 for 루프
    Type
    Description

    j가 0부터 n-1까지 반복합니다. 이 루프는 각 행의 열(column)을 채웁니다.

    • 조건문: if(j === i) 조건을 사용하여, 대각선 원소(i와 j가 같은 경우)일 때는 row 배열에 1을 추가합니다. 그 외의 경우(대각선이 아닌 원소)에는 0을 추가합니다.
  • Name
    행 추가
    Type
    Description

    각 내부 for 루프의 반복이 끝나면, 완성된 row 배열을 result 배열에 추가합니다.

특별한 이차원 배열 1

function solution(n) {
    let result = [];
    
    for(let i = 0; i < n; i++){
        let row = [];
        for(let j = 0; j < n; j++){
            if(j === i){
                row.push(1);
            } else {
                row.push(0);
            }
        }
        result.push(row);
    }
    return result;
}