내 답
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차원 배열... 자주 사용하지 않으니 뭔가 손에 안 익는다 열심히 찾아봐야지
'기초다지기 > JS 코딩테스트' 카테고리의 다른 글
[Lv0] 등차수열 (0) | 2023.07.17 |
---|---|
[Lv0] 수 조작하기 2 (0) | 2023.07.16 |
[LV0] 특정 문자 a로 만들기 (0) | 2023.06.03 |
Lv0 배열의 원소만큼 추가하기 (0) | 2023.05.21 |
Lv.0 정수 리스트 중 첫번째 음수 인덱스 값 구하기 (1) | 2023.05.14 |