[๋ฐฑ์ค€] 1068. ํŠธ๋ฆฌ/Python - Gold5

2025. 3. 19. 19:11ยทCoding Test/Algorithms

โ“๋ฌธ์ œ

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

์„ฑ๋Šฅ ์š”์•ฝ

๋ฉ”๋ชจ๋ฆฌ: 34936 KB, ์‹œ๊ฐ„: 64 ms

๋ถ„๋ฅ˜

๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰, ๊ทธ๋ž˜ํ”„ ์ด๋ก , ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰, ํŠธ๋ฆฌ

๋ฌธ์ œ ์„ค๋ช…

ํŠธ๋ฆฌ์—์„œ ๋ฆฌํ”„ ๋…ธ๋“œ๋ž€, ์ž์‹์˜ ๊ฐœ์ˆ˜๊ฐ€ 0์ธ ๋…ธ๋“œ๋ฅผ ๋งํ•œ๋‹ค.

ํŠธ๋ฆฌ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋…ธ๋“œ ํ•˜๋‚˜๋ฅผ ์ง€์šธ ๊ฒƒ์ด๋‹ค. ๊ทธ ๋•Œ, ๋‚จ์€ ํŠธ๋ฆฌ์—์„œ ๋ฆฌํ”„ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋…ธ๋“œ๋ฅผ ์ง€์šฐ๋ฉด ๊ทธ ๋…ธ๋“œ์™€ ๋…ธ๋“œ์˜ ๋ชจ๋“  ์ž์†์ด ํŠธ๋ฆฌ์—์„œ ์ œ๊ฑฐ๋œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠธ๋ฆฌ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜์ž.

image

ํ˜„์žฌ ๋ฆฌํ”„ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋Š” 3๊ฐœ์ด๋‹ค. (์ดˆ๋ก์ƒ‰ ์ƒ‰์น ๋œ ๋…ธ๋“œ) ์ด๋•Œ, 1๋ฒˆ์„ ์ง€์šฐ๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€ํ•œ๋‹ค. ๊ฒ€์ •์ƒ‰์œผ๋กœ ์ƒ‰์น ๋œ ๋…ธ๋“œ๊ฐ€ ํŠธ๋ฆฌ์—์„œ ์ œ๊ฑฐ๋œ ๋…ธ๋“œ์ด๋‹ค.

image

์ด์ œ ๋ฆฌํ”„ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋Š” 1๊ฐœ์ด๋‹ค.

โœ๐Ÿปํ’€์ด

์ธ์ ‘ ๋ฆฌ์ŠคํŠธ๋‚˜ ์‚ฌ์ „ํ˜•์„ ํ™œ์šฉํ•˜์—ฌ ๊ฐ ๋…ธ๋“œ ๋ณ„ ์ž์‹ ๋…ธ๋“œ๋ฅผ ๊ธฐ๋กํ•œ๋‹ค.

์ด์ œ ์ง€์šฐ๊ณ ์ž ํ•˜๋Š” ๋…ธ๋“œ๋ฅผ ์‚ญ์ œํ•ด์•ผ ํ•œ๋‹ค. ์ง€์šฐ๋ ค๋Š” ๋…ธ๋“œ์— ์ž์‹ ๋…ธ๋“œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰์œผ๋กœ ์ž์‹ ๋…ธ๋“œ๋ฅผ ํƒ์ƒ‰ํ•œ๋‹ค. ๋งŒ์•ฝ ์ง€์šฐ๋ ค๋Š” ๋…ธ๋“œ์— ์ž์‹ ๋…ธ๋“œ๊ฐ€ ์žˆ๊ณ  ๊ทธ ์ž์‹ ๋…ธ๋“œ์— ๋˜ ์ž์‹ ๋…ธ๋“œ๊ฐ€ ์žˆ๋‹ค๋ฉด ๋” ์ด์ƒ ์ž์‹ ๋…ธ๋“œ๊ฐ€ ์—†์„ ๋•Œ๊นŒ์ง€ ํƒ์ƒ‰ํ•œ๋‹ค. ์ž์‹ ๋…ธ๋“œ๊ฐ€ ์—†๋‹ค๋ฉด ์ด์ œ ๋…ธ๋“œ๋ฅผ ํŠธ๋ฆฌ์—์„œ ์‚ญ์ œํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ตœ์ข…์ ์œผ๋กœ ์ œ๊ฑฐํ•˜๋ ค๋Š” ๋…ธ๋“œ๋„ ํŠธ๋ฆฌ์—์„œ ์‚ญ์ œํ•œ๋‹ค. ์ด๋•Œ, ๋…ธ๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๋ฉฐ ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋“ค์„ ํ‘œ์‹œํ•œ๋‹ค.

๋…ธ๋“œ๋ฅผ ๋‹ค ์‚ญ์ œํ–ˆ์œผ๋‹ˆ ๋ฆฌํ”„ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค. ์šฐ์„  ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋…ธ๋“œ์ธ์ง€ ํ™•์ธํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋…ธ๋“œ๋Š” ์ง€์›Œ์ง€์ง€ ์•Š๊ณ  ๋‚จ์•„์žˆ๋Š” ๋…ธ๋“œ๋“ค์„ ์˜๋ฏธํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋…ธ๋“œ๊ฐ€ ํŠธ๋ฆฌ์— ์—†๋‹ค๋ฉด ์ž์‹ ๋…ธ๋“œ๊ฐ€ ์—†๋Š” ๊ฒƒ์ด๋ฏ€๋กœ res + 1์„ ํ•œ๋‹ค. ์ด๋•Œ, ํŠธ๋ฆฌ ์•ˆ์— ๋‚จ์•„์žˆ๋Š” ๋…ธ๋“œ์˜ ์ž์‹ ๋…ธ๋“œ์— ์ง€์šฐ๊ณ ์ž ํ•˜๋Š” ์ž์‹ ๋…ธ๋“œ๊ฐ€ ๋‚จ์•„์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ด๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋‚จ์•„์žˆ๋Š” ์ž์‹์˜ ์ˆ˜๊ฐ€ 0์ด๋ฉด res + 1์„ ํ•˜๋ฉด ๋œ๋‹ค.

๐Ÿ’ป์ฝ”๋“œ

import sys
from collections import defaultdict

input = sys.stdin.readline

N = int(input())
nodes = list(map(int, input().split()))
remove = int(input())
tree = defaultdict(list)
visited = [False] * N

def dfs(r):
    visited[r] = True
    for n in tree[r]:
        if not tree[n]:
            visited[n] = True
            tree.pop(n)
        else:
            dfs(n)
    tree.pop(r)

for v in range(N):
    if nodes[v] == -1:
        continue
    tree[nodes[v]].append(v)

dfs(remove)
res = 0

for n in range(N):
    if not visited[n]:
        if remove in tree[n] and len(tree[n])-1 == 0:
            res +=1
        if not tree[n]:
            res += 1

print(res)

๐Ÿ“ํ›„๊ธฐ

์ง„์งœ ๋ฐ˜๋ก€ ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ๋งค๋ฒˆ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋งŒ ํ†ต๊ณผํ•˜๋ฉด ์ œ์ถœํ•ด์„œ ๊ณ„์† ๋–จ์–ด์ง€๋‚˜๋ณด๋‹ค..๐Ÿฅฒ

๊ทธ๋ฆฌ๊ณ  ์‚ผ์„ฑ ์ฝ”ํ…Œ์˜ ๊ฒฝ์šฐ pypy3์ธ ๊ฑธ๋กœ ์•Œ๊ณ  ์žˆ์–ด pypy3๋กœ๋„ ์ œ์ถœํ•ด๋ณด์•˜๋‹ค.๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋„ˆ๋ฌด ์ฐจ์ด๋‚˜๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ์ค„์ด๋ฉด ์ข‹์„์ง€..

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Coding Test > Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€] 11401. ์ดํ•ญ ๊ณ„์ˆ˜ 3/Python - Gold1  (0) 2025.06.19
[๋ฐฑ์ค€] 1158. ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ/Python - Silver4  (0) 2025.04.01
[๋ฐฑ์ค€] 1966. ํ”„๋ฆฐํ„ฐ ํ/Python - Silver3  (0) 2025.03.18
[๋ฐฑ์ค€] 2800. ๊ด„ํ˜ธ ์ œ๊ฑฐ/Python - Gold4  (1) 2025.03.18
[๋ฐฑ์ค€]14940. ์‰ฌ์šด ์ตœ๋‹จ๊ฑฐ๋ฆฌ/Python - Silver1  (0) 2025.03.10
'Coding Test/Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€] 11401. ์ดํ•ญ ๊ณ„์ˆ˜ 3/Python - Gold1
  • [๋ฐฑ์ค€] 1158. ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ/Python - Silver4
  • [๋ฐฑ์ค€] 1966. ํ”„๋ฆฐํ„ฐ ํ/Python - Silver3
  • [๋ฐฑ์ค€] 2800. ๊ด„ํ˜ธ ์ œ๊ฑฐ/Python - Gold4
The Engineer, Lucy
The Engineer, Lucy
  • The Engineer, Lucy
    Growing up for My Future๐Ÿ’•
    The Engineer, Lucy
    • Instagram
    • GitHub
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (173) N
      • Linux (26)
      • Infra (9)
      • Cloud (25)
        • AWS (2)
        • GCP (3)
        • Docker (4)
        • Kubernetes (14)
        • IaC (2)
      • NGINX (1)
      • DevOps (3)
      • Computer Science (17)
        • Data Structure (0)
        • Algorithms (1)
        • Operating System (3)
        • Network (11)
        • Database System (2)
      • Coding Test (87) N
        • Algorithms (79) N
        • SQL (7)
      • ETC (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๊ณต์ง€์‚ฌํ•ญ

  • ๋งํฌ

    • Lucy's Instagram
    • Lucy's GitHub
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰
    ์…ธ ์Šคํฌ๋ฆฝํŠธ
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ
    programmers
    ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ ์ง€์‹
    network
    ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค
    K8s
    dfs
    bfs
    ๋ฐฑ์ค€
    cs ๊ธฐ์ดˆ ์ง€์‹ ์ •๋ฆฌ
    Kubernetes
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    ๋ฆฌ๋ˆ…์Šค
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 2๊ธ‰
    ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    ์‰˜ ์Šคํฌ๋ฆฝํŠธ
    Shell
    ๋„คํŠธ์›Œํฌ
    ๋„์ปค
    Baekjoon
    Linux
    Java
    Shell Script
    ์ž๋ฐ”
    ์˜ค๋ธ”์™„
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณต๋ถ€
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    docker
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
The Engineer, Lucy
[๋ฐฑ์ค€] 1068. ํŠธ๋ฆฌ/Python - Gold5
์ƒ๋‹จ์œผ๋กœ

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