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)

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

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

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

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

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

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

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ


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

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

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

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

[Python] ๋ฐฑ์ค€ 14621 ๋‚˜๋งŒ ์•ˆ๋˜๋Š” ์—ฐ์•  | ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜

2023. 5. 29. 00:11

 

~๋ชฉ์ฐจ~

๋ฌธ์ œ

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

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


 

๋ฌธ์ œ

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

 

14621๋ฒˆ: ๋‚˜๋งŒ ์•ˆ๋˜๋Š” ์—ฐ์• 

์ž…๋ ฅ์˜ ์ฒซ์งธ ์ค„์— ํ•™๊ต์˜ ์ˆ˜ N์™€ ํ•™๊ต๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋„๋กœ์˜ ๊ฐœ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. (2 ≤ N ≤ 1,000) (1 ≤ M ≤ 10,000) ๋‘˜์งธ ์ค„์— ๊ฐ ํ•™๊ต๊ฐ€ ๋‚จ์ดˆ ๋Œ€ํ•™๊ต๋ผ๋ฉด M, ์—ฌ์ดˆ ๋Œ€ํ•™๊ต๋ผ๋ฉด W์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜

www.acmicpc.net

 

 

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

- ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ

 

- school : ์ •์  ๋ณ„ ํ•™๊ต ์„ฑ๋ณ„

- parent : ์ •์  ๋ณ„ ์„œ๋กœ์†Œ ์ง‘ํ•ฉ ์ •๋ณด

- edges : ๊ฐ„์„ ์˜ ๋น„์šฉ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ณด ์ €์žฅ

 

- ์ •๋ ฌ๋œ edges๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ ‘๊ทผํ•˜๋ฉฐ ์‚ฌ์ดํด์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฉด ์—ฐ๊ฒฐ

- ์„œ๋กœ์†Œ ์ง‘ํ•ฉ์ด ์ •์  ๋ณธ์ธ๊ณผ ๊ฐ™์€ ์ •์ ์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์–ด์„œ 1๊ฐœ ์ด์ƒ์ด๋ผ๋ฉด ์ง‘ํ•ฉ์ด 1๊ฐœ ์ด์ƒ์ด๋ผ๋Š” ์˜๋ฏธ

   - ๋ชจ๋“  ์ •์ ์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์˜๋ฏธ์™€ ๊ฐ™์œผ๋ฏ€๋กœ -1 ๋ฐ˜ํ™˜

   -  ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ๊ฐ„์„ ์˜ ์ตœ์†Œ ๋น„์šฉ ๋ฐ˜ํ™˜

 

 

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

import sys
input = sys.stdin.readline

n, m = map(int, input().split())
school = [''] + list(input().split())
parent = [i for i in range(n+1)]
edges = []
result = 0

for _ in range(m):
    u, v, d = map(int, input().split())
    edges.append((d, u, v))

edges.sort()

def find(x):
    if x != parent[x]:
        parent[x] = find(parent[x])
    return parent[x]

def union(a, b):
    a = find(a)
    b = find(b)
    if a < b:
        parent[b] = a
    else:
        parent[a] = b

for w, a, b in edges:
    if find(a) != find(b) and school[a] != school[b]:  # ์‚ฌ์ดํด ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ , ์—ฌ์ดˆ/ ๋‚จ์ดˆ๋กœ ๋‹ค๋ฅด๋‹ค๋ฉด
        union(a, b)
        result += w

print(result if len([i for i in range(1, n+1) if parent[i] == i]) == 1 else -1)

 

 

 

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

 

 

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

[Python] ๋ฐฑ์ค€ 21924 ๋„์‹œ ๊ฑด์„ค | ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜  (2) 2023.05.29
[Python] ๋ฐฑ์ค€ 19368 ํ–‰์„ฑ ์—ฐ๊ฒฐ | ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜  (0) 2023.05.29
[Python] ๋ฐฑ์ค€ 6497 ์ „๋ ฅ๋‚œ | ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜  (0) 2023.05.28
[Python] ๋ฐฑ์ค€ 4386 ๋ณ„์ž๋ฆฌ ๋งŒ๋“ค๊ธฐ | ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜  (0) 2023.05.28
[Python] ๋ฐฑ์ค€ 1922 ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ | ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜  (0) 2023.05.28
    '๐Ÿ“๋ฌธ์ œ ํ’€์ด/๐ŸงฉBaekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Python] ๋ฐฑ์ค€ 21924 ๋„์‹œ ๊ฑด์„ค | ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • [Python] ๋ฐฑ์ค€ 19368 ํ–‰์„ฑ ์—ฐ๊ฒฐ | ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • [Python] ๋ฐฑ์ค€ 6497 ์ „๋ ฅ๋‚œ | ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • [Python] ๋ฐฑ์ค€ 4386 ๋ณ„์ž๋ฆฌ ๋งŒ๋“ค๊ธฐ | ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜
    Hiya_
    Hiya_
    ํ•˜์–€ ์ฒœ๊ณผ ๋ฐ”๋žŒ๋งŒ ์žˆ๋‹ค๋ฉด ์–ด๋””๋“  ๊ฐˆ ์ˆ˜ ์žˆ์–ด

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