Search

์กฐ์˜ˆ์ง€

2.๋ฌธ์ œ์ด๋ฆ„
3. ์ˆ˜ํ–‰์‹œ๊ฐ„[์ดˆ(s)]
900
4. git ์ฃผ์†Œ URL
์ข‹์•„์š” ๋ˆ„๋ฅด๊ธฐ
์ข‹์•„์š” ์ˆ˜
: 0
5 more properties
| ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ
import heapq INF = int(1e9) def dijkstra(start, d, graph): q = [] d[start] = 0 heapq.heappush(q, (0, start)) while q: dist, now = heapq.heappop(q) if d[now] < dist: continue for i in graph[now]: cost = dist + i[1] if cost < d[i[0]]: d[i[0]] = cost heapq.heappush(q, (cost, i[0])) def solution(N, road, K): graph = [[] for _ in range(N+1)] d = [INF] * (N+1) for m in road: graph[m[0]].append((m[1], m[2])) graph[m[1]].append((m[0], m[2])) dijkstra(1, d, graph) result = [1] for i in range(2, N+1): if d[i] <= K: result.append(i) return len(result)
Java
๋ณต์‚ฌ
| ์ฝ”๋“œ ์„ค๋ช…ํ•˜๊ธฐ
โ€ข
ํ•˜๋‚˜์˜ ๋…ธ๋“œ์—์„œ ๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ ๊ฐ€๋Š” ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋Š” ๋‹ค์ต์ŠคํŠธ๋ผ๋กœ ํ‘ผ๋‹ค๊ณ  ์Šคํ„ฐ๋””์—์„œ ํฌ์ •๋‹˜์—๊ฒŒ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค.
โ€ข
road (๋„๋กœ์˜ ์ •๋ณด)๋ฅผ ๋ฐ›์•„์„œ graph๋ฅผ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. ์ด๋•Œ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•˜์—ฌ์„œ ๋„๋กœ์˜ ์‹œ์ž‘๊ณผ ๋์„ ๋ฐ”๊ฟ”์„œ๋„ ์ž…๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค.
(ํ•œ ๋ฐฉํ–ฅ๋งŒ ์ž…๋ ฅํ•˜๋‹ˆ ์˜ˆ์ œ๋„ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•˜์˜€๋‹ค.)
โ€ข
๋‹ค์ต์ŠคํŠธ๋ผ๋กœ ์–ป์€ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ๋ฐฐ์—ด์„ ์ด์šฉํ•˜์—ฌ ์ตœ๋Œ€ ์‹œ๊ฐ„ ์ดํ•˜์ธ ๋…ธ๋“œ๋งŒ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•˜์˜€๋‹ค.