본문 바로가기

레벨32

[다익스트라 레벨3] 부대복귀 문제링크 첫번째 풀이 (성공) 문제에 정해진 destination에서 다른 부대로 이동하기까지 최소비용을 구한다 => 몇일 전 공부한 다익스트라가 생각났다. 시작노드에서 각 노드까지 최소비용값을 저장할 distance 배열을 만든다 이 때 인덱스 = 노드값 동일하게 하기 위해 길이는 n+1이다 최소비용을 구하므로 Infinity로 초기화한다. roads를 순회하며 각 노드에 연결된 neighbors를 정리하여 양방향 그래프 graph를 만든다. (distance와 같은 길이) queue에 방문한 노드를 추가하는데 초기화로 시작노드 destination을 넣는다 queue.shift하여 시작노드의 값을 구하고, 2번에서 구한 graph에서 시작노드와 연결된 next를 구한다 시작노드에서 next 까지 최소.. 2023. 11. 3.
[레벨3] 기지국 설치 문제 링크 첫번째 풀이 (실패) set에 1부터 n까지 아파트를 정리한다 stations를 순회하면 영향을 받는 아파트들을 set에서 지운다 set을 배열로 변환하여 순회하면서 연속적인 숫자가 아닌 부분 (즉 2번에서 지운 구간에 의해 나눠진 구간들)을 만날떄마다 range의 갯수로 나눠 기지국 갯수를 구한다. function solution(n, stations, w) { var answer = 0; const numArr = Array.from({length: n},(_, i) => i+1); const set = new Set(numArr); for (const station of stations) { set.delete(station); for(let i = 1; i 2023. 11. 1.