ํฐ์คํ ๋ฆฌ ๋ทฐ
728x90
๐ Summer/Winter Coding(~2018)
๋ฌธ์
https://programmers.co.kr/learn/courses/30/lessons/12978
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ฐฐ๋ฌ
5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4
programmers.co.kr
thinking
์ต๋จ๊ฑฐ๋ฆฌ์ด๊ธฐ ๋๋ฌธ์ ๋ค์ต์คํธ๋ผ๋ฅผ ์ฌ์ฉํ๋ค
๋๋๋น๋์ ๋ธ๋ก๊ทธ๋ฅผ ๋ณด๋ฉด ์ดํด๊ฐ ์์ฃผ ์ฝ๋ค. ๊ตฟ !!!!!!
23. ๋ค์ต์คํธ๋ผ(Dijkstra) ์๊ณ ๋ฆฌ์ฆ
๋ค์ต์คํธ๋ผ(Dijkstra) ์๊ณ ๋ฆฌ์ฆ์ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ ํ์ฉํ ๋ํ์ ์ธ ์ต๋จ ๊ฒฝ๋ก(Shortest Path) ํ...
blog.naver.com
์ฝ๋
import heapq
def dijkstra(dist,adj):
# ์ถ๋ฐ๋
ธ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ ๋
ธ๋๋ค์ ์ต์๋น์ฉ ํ์
heap = []
heapq.heappush(heap, [0,1]) # ๊ฑฐ๋ฆฌ,๋
ธ๋
while heap:
cost, node = heapq.heappop(heap)
for c,n in adj[node]:
if cost+c < dist[n]:
dist[n] = cost+c
heapq.heappush(heap, [cost+c,n])
def solution(N, road, K):
dist = [float('inf')]*(N+1) # dist ๋ฐฐ์ด ๋ง๋ค๊ณ ์ต์๊ฑฐ๋ฆฌ ๊ฐฑ์ ํ ๊ฑฐ์
dist[1] = 0 # 1๋ฒ์ ์๊ธฐ์์ ์ด๋๊น ๊ฑฐ๋ฆฌ 0
adj = [[] for _ in range(N+1)] # ์ธ์ ๋
ธ๋&๊ฑฐ๋ฆฌ ๊ธฐ๋กํ ๋ฐฐ์ด
for r in road:
adj[r[0]].append([r[2],r[1]])
adj[r[1]].append([r[2],r[0]])
dijkstra(dist,adj)
return len([i for i in dist if i <=K])
'algorithm > programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ด ๋๋ง์๊ธฐ / python ํ์ด์ฌ (0) | 2021.09.26 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์บ์ / python ํ์ด์ฌ (0) | 2021.09.26 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ธฐ์ง๊ตญ ์ค์น / python ํ์ด์ฌ (0) | 2021.08.29 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ซ์ ๊ฒ์ / python ํ์ด์ฌ (0) | 2021.08.29 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ํ ๋ฒ์ค / python ํ์ด์ฌ / 2018 ์นด์นด์ค ๊ณต์ฑ 1์ฐจ ์ฝํ (0) | 2021.08.08 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
TAG
- react
- merge์๋ฌ
- ํ์ด์ฌ
- ๋ธ๋ฃจํธํฌ์ค
- git ๋ฏธ๋ฌ๋ง
- ์ผ์ฑ๊ธฐ์ถ
- ์๊ณ ๋ฆฌ์ฆ
- ๋ณด์์ผํ
- 2579 ๊ณ๋จ์ค๋ฅด๊ธฐ
- ๊ธฐ์ง๊ตญ์ค์น
- 20057 ๋ง๋ฒ์ฌ ์์ด์ ํ ๋ค์ด๋
- merge ์๋ฌ
- 21609 ์์ด ์คํ๊ต
- dfs
- ์ผ์ฑ์ฝํ
- BFS
- ํ๋ก๊ทธ๋๋จธ์ค
- dp
- 20056 ๋ง๋ฒ์ฌ ์์ด์ ํ์ด์ด๋ณผ
- Python
- ๋ฐฑ์ค
- 17406 ๋ฐฐ์ด๋๋ฆฌ๊ธฐ4
- 2018 ์นด์นด์ค ๊ณต์ฑ
- swea
- ์์ด๋๋ง์๊ธฐ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
- Total
- Today
- Yesterday
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ