코딩테스트

[못풀었다/프로그래머스] 배달

_서리__ 2023. 5. 31. 11:33
function solution(N, road, K) {
    const dist = Array(N+1).fill(Infinity)
    const adj = Array.from({length:N+1},()=>[])
    road.forEach((el)=>{
        const [r1,r2,t] = el
        adj[r1].push({to:r2,time:t})
        adj[r2].push({to:r1,time:t})
    })
    let queue = [{to:1,time:0}]
    dist[1] = 0;
    while(queue.length){
        let {to,time} = queue.pop();
        adj[to].forEach((next)=>{
           if(dist[next.to]>dist[to]+next.time){
               dist[next.to] = dist[to]+next.time
                queue.push(next)
           }
        })
    }
    return dist.filter((el)=>el<=K).length
}