솔직히 혼자 푸는 덴 실패했고 검색해서 방법을 얻어서 겨우 풀었다ㅠㅠ
function solution(n) {
let arr = new Array(n).fill(new Array(n).fill(0));
return arr.map((el, i) => {
return el.map((v, vi) => i === vi ? 1 : v);
})
}
아래는 다른 사람들의 풀이.
중첩 반복을 안 쓰는 방법은 생각해보지 못해서 굉장히 신선했다.
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;
}
function solution(n) {
const answer = [];
for(let i=0; i<n; i++) {
const row = new Array(n).fill(0);
{
row[i] = 1;
}
answer.push(row);
}
return answer;
}
제일 처음에 나는 시도했다가 실패한 방법인데
다른 사람의 풀이를 보니 처음부터 이차원 배열을 만들어놓고 위치를 찾게 한 것이 오류의 원인이었던 모양이다.
자꾸 undefined에서 push를 쓸 수 없다는 오류가 나오더라고...😂
function solution(n) {
let result = [];
for(let i = 0; i < n; i++) {
let arr = [];
for(let j = 0; j < n; j++) {
if(i === j) {
arr.push(1);
} else {
arr.push(0);
}
}
result.push(arr);
}
return result;
}
'코딩테스트 > 프로그래머스 기초 트레이닝' 카테고리의 다른 글
[Javascript] 1로 만들기 (+답변 추가) (0) | 2023.06.28 |
---|---|
[Javascript] 세로 읽기 (0) | 2023.06.27 |
[Javascript] 수열과 구간 쿼리 3 (0) | 2023.06.27 |
[Javascript] 날짜 비교하기 (0) | 2023.06.23 |
[Javascript] 특이한 이차원 배열 2 - every() (0) | 2023.06.13 |
[Javascript] Set 객체 (0) | 2023.06.10 |
[Javascript] 부분 문자열 이어 붙여 문자열 만들기 - 구조분해 (0) | 2023.06.06 |
[Javascript] 0 떼기 (0) | 2023.06.06 |