본문 바로가기
기초다지기/JS 코딩테스트

[js] 2차원 배열

by 김빵그 2023. 7. 2.

내 답

function solution(n) {
    var answer = [];
    for(let i = 0; i < n; i++) {
        const cells = [];
        for(let j =0; j<n; j++){
            if(i == j) {
               cells.push(1);
            }else  {
                cells.push(0);
            }
        }
        answer.push(cells);
    }
    return answer;
}
  • var answer = [] : 결과를 담을 빈 배열을 선언 
  • cells = [];  :  현재 행의 요소들을 담을 빈 배열 선언 
  • i = j  : i와 j가 같으면 1을 cells에 추가 아니면 0을 추가
  • answer.push(cells) : 현재 행의 요소들을 answer 배열에 추가한다

 

그  외의 답  

function solution(n) {
  const answer = Array.from(Array(n), () => Array(n).fill(0));

  for (let i = 0; i < n; i++) {
    answer[i][i] = 1;
  }

  return answer;
}
  • const answer ... : n을 기반으로 n*n 크기의 2차원 배열 answer을 생성 각 요소는 0으로 초기화
  • for(let i = 0 ...) : answer 배열의 대각선 요소를 1로  설정 i 가 0부터 n-1까지 반복되며 answer[i][i]는 대각선 요소를 나타낸다
[
  [1, 0, 0],
  [0, 1, 0],
  [0, 0, 1]
]

 

 


주절주절

2차원 배열... 자주 사용하지 않으니 뭔가 손에 안 익는다 열심히 찾아봐야지