Skip to main content

πŸ“ 81305 μ‹œν—˜μž₯ λ‚˜λˆ„κΈ°


https://school.programmers.co.kr/learn/courses/30/lessons/81305

1. 문제 μš”μ•½

image.png

  1. ν•˜λ‚˜μ˜ λ…Έλ“œλŠ” ν•˜λ‚˜μ˜ μ‹œν—˜μž₯을 λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
  2. 검은 λ°”νƒ•μ˜ 흰 μˆ«μžλŠ” ν•΄λ‹Ή μ‹œν—˜μž₯의 고유 번호(ID)λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
    2-1. μ‹œν—˜μž₯이 n개 μžˆλ‹€λ©΄, μ‹œν—˜μž₯의 고유 λ²ˆν˜ΈλŠ” 0λΆ€ν„° n-1κΉŒμ§€ λΆ€μ—¬λ©λ‹ˆλ‹€.
  3. λ…Έλ“œ μ•ˆμ˜ λΉ¨κ°„ μˆ«μžλŠ”, ν•΄λ‹Ή μ‹œν—˜μž₯의 μ‘μ‹œμž 수λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
    3-1. μœ„μ˜ κ·Έλ¦Όμ—μ„œ, 9번 μ‹œν—˜μž₯μ—λŠ” 10λͺ…, 4번 μ‹œν—˜μž₯μ—λŠ” 8λͺ…, 6번 μ‹œν—˜μž₯μ—λŠ” 20λͺ…μ˜ μ‘μ‹œμžκ°€ μ‹œν—˜μ„ λ³Ό μ˜ˆμ •μž…λ‹ˆλ‹€.
  4. λ…Έλ“œ μ‚¬μ΄μ˜ 간선은 ν•΄λ‹Ή μ‹œν—˜μž₯이 μ—°κ²°λ˜μ–΄ μžˆμŒμ„ μ˜λ―Έν•©λ‹ˆλ‹€.
    4-1. μœ„μ˜ κ·Έλ¦Όμ—μ„œ, 9번 μ‹œν—˜μž₯은 7번 μ‹œν—˜μž₯κ³Ό, 7번 μ‹œν—˜μž₯은 6번 μ‹œν—˜μž₯κ³Ό μ—°κ²°λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

μ½”λ”© ν…ŒμŠ€νŠΈλ₯Ό μ΄κ΄„ν•˜λŠ” λ¬΄μ§€λŠ” μ•ˆμ •μ μΈ μ‹œν—˜μ„ μœ„ν•΄, μ‹œν—˜μž₯μ—μ„œ μ˜€λŠ” νŠΈλž˜ν”½μ„Β k개의 그룹으둜 λ‚˜λˆ„μ–΄ 각 그룹별 μ„œλ²„λ‘œ λΆ„μ‚°μ‹œν‚€κΈ°λ‘œ ν•˜μ˜€μŠ΅λ‹ˆλ‹€. μ‹œν—˜μž₯ 사이λ₯Ό μ—°κ²°ν•œ κ°„μ„ λ“€ 쀑 k-1개λ₯Ό λŠμ–΄μ„œ μ‹œν—˜μž₯을 k 개의 그룹으둜 λ‚˜λˆŒ κ³„νšμž…λ‹ˆλ‹€. μ΄λ•Œ, 그룹별 μ΅œλŒ€ νŠΈλž˜ν”½μ„ μ΅œμ†Œν™”ν•˜κΈ° μœ„ν•˜μ—¬Β κ°€μž₯ 큰 그룹의 인원을 μ΅œμ†Œν™”μ‹œμΌœμ•Ό ν•©λ‹ˆλ‹€.

image.png

μœ„μ˜ κ·Έλ¦Όμ—μ„œ 7번과 6번 μ‹œν—˜μž₯을 μž‡λŠ” 간선을 끊고, 9번과 7번 μ‹œν—˜μž₯을 μž‡λŠ” 간선을 λŠλŠ”λ‹€λ©΄, 전체 μ‹œν—˜μž₯은 3개의 그룹으둜 λ‚˜λˆ„μ–΄μ§‘λ‹ˆλ‹€.

  • 주황색 λ…Έλ“œλ‘œ ν‘œμ‹œλœ A그룹의 인원은 35λͺ…(10+8+5+6+1+1+4)
  • 보라색 λ…Έλ“œλ‘œ ν‘œμ‹œλœ B그룹의 인원은 37λͺ…(7+30)
  • 녹색 λ…Έλ“œλ‘œ ν‘œμ‹œλœ C그룹의 인원은 40λͺ…(20+8+12)

즉, 인원이 κ°€μž₯ λ§Žμ€ 그룹은 40λͺ…μž…λ‹ˆλ‹€. λ‹€λ₯Έ μ–΄λ–€ λ°©λ²•μœΌλ‘œ μ‹œν—˜μž₯을 3개의 그룹으둜 λ‚˜λˆˆλ‹€κ³  해도, 인원이 κ°€μž₯ λ§Žμ€ 그룹의 인원이 40λͺ… 미만이 λ˜λ„λ‘ λ‚˜λˆŒ μˆ˜λŠ” μ—†μŠ΅λ‹ˆλ‹€.

λ‚˜λˆŒ 그룹의 수λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •μˆ˜ k, 각 μ‹œν—˜μž₯의 μ‘μ‹œμž 수λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 1차원 μ •μˆ˜ λ°°μ—΄ num, μ‹œν—˜μž₯의 μ—°κ²° μƒνƒœλ₯Ό λ‚˜νƒ€λ‚΄λŠ” 2차원 μ •μˆ˜ λ°°μ—΄ linksκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§‘λ‹ˆλ‹€. 인원이 κ°€μž₯ λ§Žμ€ 그룹의 인원이 μ΅œμ†Œν™”λ˜λ„λ‘ k개의 그룹으둜 λ‚˜λˆ„μ—ˆμ„ λ•Œ, μ΅œμ†Œν™”λœ μ΅œλŒ€ 그룹의 인원을 return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄μ£Όμ„Έμš”.


2. 접근방법

3. μ •λ”₯μ½”λ“œ

ν‘ΈλŠ”μ€‘