본문 바로가기
배움 기록/코테 연습

[알고리즘] 백준 10810번 : JavaScript(Node.js) 풀기

by dygreen 2023. 7. 23.

📌 문제

 

📌 풀이

const [[n,m], ...input] = require('fs').readFileSync('/dev/stdin').toString().split('\n').map(x => x.split(' ').map(Number));
let arr = new Array(n).fill(0);

for (let [i,j,k] of input) {
    for (let idx = i-1; idx < j; idx++) {
        arr[idx] = k;
    }
}

console.log(arr.join(' '));
  • 배열 비구조화 할당을 이용해서, '첫째 줄'과 '둘째 줄~마지막 줄'을 나눈다.
  • new Array() : Array() 생성자로 Array 객체를 생성한다.
    여기서는 n개의 요소를 arr 배열에 채워넣고, fill() 메서드를 사용하여 배열의 시작 인덱스부터 끝 인덱스까지 0으로 채워 넣는다.
  • for of 반복문 : for of 반복문을 사용하여 input이라는 배열의 element들을 배열 비구조화 할당한다. (→ [i,j,k]로)
    * for (variable of iterable) { statement }
    - variable : 각 반복에 서로 다른 속성값이 variable에 할당됨
    - iterable : 반복되는 열거가능한 속성이 있는 객체
  • for of 반복문 안에 for 반복문을 통해 arr 요소에 값을 할당하는 과정을 겪는다.
728x90

댓글