Hiya_
๊ฐœ๋ฐœ์ž์ทจ๐ŸŒฑ
Hiya_
Github
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (155) N
    • ๐Ÿ’ปBackend (1) N
      • ๋ผ์ด์ง•์บ ํ”„ (6)
      • SSAFY | ์‹ธํ”ผ (2)
      • ์‹ ํ•œDS ๊ธˆ์œตSW ์•„์นด๋ฐ๋ฏธ (2)
    • ๐Ÿ“๋ฌธ์ œ ํ’€์ด (102)
      • ๐ŸงฉBaekjoon (47)
      • ๐ŸงฉProgrammers (42)
      • ๐ŸงฉSWExpertAcademy (10)
      • ๐ŸงฉSofteer (3)
    • ๐Ÿ“‚Language (31)
      • Python (3)
      • JAVA (2)
      • SQL (6)
      • English (19)
    • โœจUseful information (5)
    • ๐Ÿ”‘Algorithms (3)
    • ๐Ÿ™Git (2)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ํ† ์ต๋…ํ•™
  • ๋‹ค์ต์ŠคํŠธ๋ผ
  • ํ† ์ต๋ฌด๋ฃŒ๊ฐ•์˜
  • ํ•ด์ปค์Šคํ† ์ต
  • ํ† ์ต๊ณต๋ถ€
  • ๋ฐฑ์ค€
  • ํ† ์ตRC
  • UNION ALL
  • ๋‚ด์žฅํ•จ์ˆ˜
  • ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
  • ๊ตฌํ˜„
  • BFS
  • ์ •๋ ฌ
  • ํ† ์ต์‹œํ—˜
  • BaekJoon
  • ํ•ด์ปค์ŠคํŒŒ๋žญ์ด
  • mysql
  • 2์ฐจ์› ๋ฐฐ์—ด
  • ํ† ์ต๋ฌด๋ฃŒ์ž๋ฃŒ
  • greedy algorithm
  • sort
  • Python
  • Union
  • ๊ทธ๋ฆฌ๋””
  • ์™„์ „ํƒ์ƒ‰
  • ํ† ์ต๊ธฐ์ถœ
  • ์˜ค๋ธ”์™„
  • ๋ฆฌ์ŠคํŠธ
  • ์ฝ”ํ…Œ
  • ํ† ์ต์ ์ˆ˜

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ


Owner : ๊น€์‹ ์˜
Naver Blog

hELLO ยท Designed By ์ •์ƒ์šฐ.
Hiya_

๊ฐœ๋ฐœ์ž์ทจ๐ŸŒฑ

๐Ÿ“๋ฌธ์ œ ํ’€์ด/๐ŸงฉBaekjoon

[Python] ๋ฐฑ์ค€ 1197 ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ

2023. 5. 23. 23:23

 

~๋ชฉ์ฐจ~

๋ฌธ์ œ

๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ

์ž‘์„ฑ ์ฝ”๋“œ


 

๋ฌธ์ œ

https://www.acmicpc.net/problem/1197

 

1197๋ฒˆ: ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ

์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ V(1 ≤ V ≤ 10,000)์™€ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ E(1 ≤ E ≤ 100,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ E๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ๊ฐ„์„ ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์„ธ ์ •์ˆ˜ A, B, C๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋Š” A๋ฒˆ ์ •์ ๊ณผ B๋ฒˆ ์ •์ ์ด

www.acmicpc.net

 

 

๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ

- ๋ฌธ์ œ ์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

- parent : ์„œ๋กœ์†Œ ์ง‘ํ•ฉ ๊ฐœ๋…์—์„œ ๊ฐ ์ •์ ์ด ์–ด๋А ์ง‘ํ•ฉ์— ์†ํ•ด์žˆ๋Š”์ง€ ์ •๋ณด๋ฅผ ์ €์žฅ

- edges : ๊ฐ„์„ ์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„. ๊ฐ€์žฅ ์ž‘์€ ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฐ„์„ ๋ถ€ํ„ฐ ์—ฐ๊ฒฐํ•ด๋‚˜๊ฐ„๋‹ค

- find_parent : ํ•ด๋‹นํ•˜๋Š” ์ •์ ์˜ ๋ถ€๋ชจ(์ง‘ํ•ฉ)์„ ์ฐพ์•„์ฃผ๋Š” ํ•จ์ˆ˜

- union_parent : ๋‘ ์ •์ ์— ๋Œ€ํ•ด์„œ ๊ฐ™์€ ๋ถ€๋ชจ(์ง‘ํ•ฉ)์— ์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ฐ์‚ฐ. ๋” ์ž‘์€ ๊ฐ’์ด ๋ถ€๋ชจ๊ฐ€ ๋œ๋‹ค.

 

์ž‘์„ฑ ์ฝ”๋“œ

import sys
input = sys.stdin.readline
V, E = map(int, input().split())
edges = []  # ๊ฐ„์„  ์ •๋ณด๋ฅผ ๋‹ด์„ ๊ณต๊ฐ„

for i in range(E):
    a, b, w = map(int, input().split())
    edges.append((w, a, b))  # '๊ฐ„์„  ๋น„์šฉ' ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ์„ ์œ„ํ•ด (๋น„์šฉ, ์ •์ , ์ •์ ) ํ˜•ํƒœ๋กœ ์ €์žฅ

def find_parent(x):  # ์„œ๋กœ์†Œ ์ง‘ํ•ฉ ๋ถ€๋ชจ ํ™•์ธ
    if parent[x] != x:
        parent[x] = find_parent(parent[x])
    return parent[x]

def union_parent(a, b):  # ์„œ๋กœ์†Œ ์ง‘ํ•ฉ ๊ทธ๋ฃน ์—ฐ์‚ฐ
    a = find_parent(a)
    b = find_parent(b)
    if a < b:
        parent[b] = a
    else:
        parent[a] = b

parent = [i for i in range(V+1)]  # ์ž๊ธฐ ์ž์‹ ์„ ๋ถ€๋ชจ๋กœ ๊ฐ–๋Š” ์„œ๋กœ์†Œ ์ง‘ํ•ฉ
edges.sort()  # ๊ฐ„์„  ๋น„์šฉ ๊ธฐ์ค€ ์˜ฌ๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ
result = 0

for w, a, b in edges: 
    if find_parent(a) != find_parent(b):  # ์‚ฌ์ดํด์ด ์ƒ๊ธฐ์ง€ ์•Š๋Š”๋‹ค๋ฉด
        union_parent(a, b)  # ๊ฐ„์„  ์—ฐ๊ฒฐ
        result += w  # ๋น„์šฉ ๊ณ„์‚ฐ

print(result)

 

 

 

๋„์›€์ด ๋˜์…จ๋‹ค๋ฉด ์ข‹์•„์š” ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”๐Ÿ’š

 


REFERENCE

<์ด๊ฒƒ์ด ์ทจ์—…์„ ์œ„ํ•œ ์ฝ”๋”ฉํ…Œ์ด์Šค๋‹ค with Python>

 

'๐Ÿ“๋ฌธ์ œ ํ’€์ด > ๐ŸงฉBaekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python] ๋ฐฑ์ค€ 1922 ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ | ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜  (0) 2023.05.28
[Python] ๋ฐฑ์ค€ 1647 ๋„์‹œ ๋ถ„ํ•  ๊ณ„ํš | ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜  (0) 2023.05.28
[Python] ๋ฐฑ์ค€ 18405 ๊ฒฝ์Ÿ์  ์ „์—ผ | BFS  (0) 2023.05.20
[Python] ๋ฐฑ์ค€ 14502 ์—ฐ๊ตฌ์†Œ | BFS  (0) 2023.05.20
[Python] ๋ฐฑ์ค€ 4485 ๋…น์ƒ‰ ์˜ท ์ž…์€ ์• ๊ฐ€ ์ ค๋‹ค์ง€? | ๋‹ค์ต์ŠคํŠธ๋ผ  (0) 2023.05.18
    '๐Ÿ“๋ฌธ์ œ ํ’€์ด/๐ŸงฉBaekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Python] ๋ฐฑ์ค€ 1922 ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ | ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • [Python] ๋ฐฑ์ค€ 1647 ๋„์‹œ ๋ถ„ํ•  ๊ณ„ํš | ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • [Python] ๋ฐฑ์ค€ 18405 ๊ฒฝ์Ÿ์  ์ „์—ผ | BFS
    • [Python] ๋ฐฑ์ค€ 14502 ์—ฐ๊ตฌ์†Œ | BFS
    Hiya_
    Hiya_
    ํ•˜์–€ ์ฒœ๊ณผ ๋ฐ”๋žŒ๋งŒ ์žˆ๋‹ค๋ฉด ์–ด๋””๋“  ๊ฐˆ ์ˆ˜ ์žˆ์–ด

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”