Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- javascript
- react
- Object
- node
- 사이트
- Mac
- Django
- 정보처리기사
- 네이버커넥트재단
- 삼각형
- 코딩테스트
- python
- 5기
- 배포
- js
- 부스트캠프
- 백준
- Express
- boostcamp
- 자바스크립트
- CSS
- vscode
- 런타임에러
- 실기
- 지속가능한개발자
- 개발자
- Git
- 알고리즘
- array
- 코테
Archives
- Today
- Total
개발 공부 기록
[javascript] 배열 초기화 본문
javascript로 코딩테스트를 풀기 위해서 배열의 초기화가 필요한 순간이 많다. 0 또는 0 ~ N-1로 배열을 초기화하는 방법들에 대해 정리해보기로 했다.
1. for 문 이용하기
const arr = [];
for(let i = 0; i < 5; i++){
arr.push(i);
}
console.log(arr); // [0, 1, 2, 3, 4]
2. Array.from() 이용하기
const arr = Array.from({length : 5}, () => 0);
console.log(arr); // [0, 0, 0, 0, 0]
const arr = Array.from({length: 5}, (v, index) => index); // 이때 v는 undefined
console.log(arr); // [0, 1, 2, 3, 4]
3. Array.fill() 이용하기
const arr = new Array(5).fill(0);
console.log(arr); // [0, 0, 0, 0, 0]
4. Array.map() 이용하기
const arr = [...new Array(5)].map((v, index) => index);
console.log(arr); // [0, 1, 2, 3, 4]
실행시간 비교
길이가 10000000인 배열을 0으로 초기화할 때, 실행시간을 기록해보았다. for문이 가장 빠르긴 했지만 Array.fill과 실행시간 차이가 크지 않기 때문에 Array.fill을 사용하는게 가독성이 높고 좋을 것 같다.
방법 | 소요 시간(ms) |
for 문 | 240 ~ 260 |
Array.from | 1350 ~ 1400 |
Array.fill | 310 ~ 380 |
Array.map | 2100 ~ 2150 |
기타 관련 글
'공부 > 코딩테스트' 카테고리의 다른 글
[javascript] Object를 [key, value] 형태의 배열로 만들기 (0) | 2021.03.30 |
---|---|
[javascript] 문자를 숫자로, 숫자를 문자로 (아스키코드) (0) | 2021.03.18 |
[python] enumerate (0) | 2020.09.20 |
[python] 주요 연산자 시간복잡도 (0) | 2020.09.13 |
[python] heapq (0) | 2020.09.13 |
Comments