프로그래밍/알고리즘

백준 10810번 공넣기

타코코딩 2023. 11. 14. 14:58

공 넣기 성공

입력

첫째 줄에 N (1 ≤ N ≤ 100)과 M (1 ≤ M ≤ 100)이 주어진다.

둘째 줄부터 M개의 줄에 걸쳐서 공을 넣는 방법이 주어진다. 각 방법은 세 정수 i j k로 이루어져 있으며, i번 바구니부터 j번 바구니까지에 k번 번호가 적혀져 있는 공을 넣는다는 뜻이다. 예를 들어, 2 5 6은 2번 바구니부터 5번 바구니까지에 6번 공을 넣는다는 뜻이다. (1 ≤ i ≤ j ≤ N, 1 ≤ k ≤ N)

도현이는 입력으로 주어진 순서대로 공을 넣는다.

출력

1번 바구니부터 N번 바구니에 들어있는 공의 번호를 공백으로 구분해 출력한다. 공이 들어있지 않은 바구니는 0을 출력한다.

예제 입력 1 복사

5 4
1 2 3
3 4 4
1 4 1
2 2 2

예제 출력 1 복사

1 2 1 1 0
 
const fs = require('fs')
let input = fs.readFileSync('./예제.txt').toString().trim().split("\n")

let [m,n] = input[0].split(" ").map(Number)
//m 바구니개수,n줄개수
let arr = new Array(m).fill(0)
// 일단 바구니 갯수만큼 배열을 채움 new Array 이용 for문 사용해서 0으로 돌려도 될것같음
for(let i=1;i<n+1;i++){
    let [시작,끝,숫자]=input[i].split(" ").map(Number)
    //줄갯수만큼 반복문 돌려서 배열 디스트럭쳐링
  for(let i=시작;i<=끝;i++){
    arr[i-1] = 숫자
    // 문제에서 나온 시작점과 배열시작점은 다름 배열은 0부터 시작 그래서 -1 빼줘야함
  }
}
console.log(arr.join(' '));