dolog
2024.03.21 배열 알고리즘 - 기초 본문
1. 2차원 배열을 초기화 하고 요소를 넣을 때 주의
function solution(n) {
// answer = [[]];로 초기화하면 에러가 난다.
// 반드시 각 요소마다 초기화가 필요하다.
let answer = [];
for(let i = 0 ; i < n ; i++) {
answer.push([]);
for(let j = 0 ; j < n ; j++) {
if(i === j) answer[i][j] = 1;
answer[i][j] = 0;
}
}
return answer;
}
위의 문제는 기초 문제라 간단하게 풀었지만 2차원 배열 관련 문제를 풀 때 new Array().fill() 이런 식으로 푸는 경우가 왕왕 있다.
아래 블로그를 요약하자면 얕은 복사로 값이 중복되는 newArray().fill()보다는 Array.from({ length: 5}, () => {})를 사용하는 게 낫다고 말하고 있다.
https://aeunhi99.tistory.com/257
[Js] 2차원 배열 new Array().fill()로 값 할당할 때 주의할 점
요새 프론트엔드가 js로 코딩테스트 보는게 많아져서 js로 여러 알고리즘 문제를 풀고있는데... 알고리즘 문제를 풀다보면 배열을 초기화 해놓고 그 배열을 이용하는 경우가 많다. 그래서 js도 배
aeunhi99.tistory.com
그리고 추가로 궁금해서 찾아본 결과 2차원 배열을 값을 넣지 않고는 처음부터 내부 배열을 초기화할 수 없다.
'알고리즘' 카테고리의 다른 글
정렬과 Tim sort의 인과관계 (0) | 2024.04.14 |
---|---|
2024.03.20 자료구조 - 자바스크립트 배열 (0) | 2024.03.20 |
2024.03.06 탐욕(Greedy) 알고리즘 Part 4 (0) | 2024.03.06 |
2024.02.29 탐욕(Greedy) 알고리즘 Part 3 (0) | 2024.02.29 |
2024.02.27 탐욕(Greedy) 알고리즘 Part 2 (0) | 2024.02.28 |