Developer. Designer

프로그래머스 기초트레이닝 Day24-5

특별한 이차원 배열 1😀

정수 n이 매개변수로 주어질 때, 다음과 같은 n × 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]]


function solution(n) {
  var answer = [];

  // n x n 크기의 이차원 배열 생성
  for (let i = 0; i < n; i++) {
    answer.push([]);
    for (let j = 0; j < n; j++) {
      // i와 j가 같으면 1, 아니면 0
      answer[i][j] = i === j ? 1 : 0;
    }
  }

  return answer;
}

빈 배열 answer를 초기화합니다.

for 반복문을 사용하여 0부터 n-1까지의 각 행에 대해 다음 작업을 수행합니다.

빈 배열 answer에 새로운 빈 배열을 추가합니다.
중첩된 for 반복문을 사용하여 각 행에 대해 0부터 n-1까지의 열에 대해 다음 작업을 수행합니다.

만약 i와 j가 같다면 현재 위치의 요소를 1로 설정하고, 그렇지 않으면 0으로 설정합니다.
생성된 이차원 배열 answer를 반환합니다.

예를 들어, solution(5)를 호출하면 다음과 같은 결과가 반환됩니다.