느낀점
정답 코드 및 해설
def lineage(son):
global family
while family[son] != son:
son = family[son]
return son
answer = []
N_nodes, N_edges, N_turn = map(int, input().split())
status_edges = []
for _ in range(N_edges):
status_edges.append(list(map(int, input().split())))
for turn in range(N_turn):
temp_answer = 0
count = 0
family = [son for son in range(N_nodes + 1)]
for burden in range(turn, N_edges):
a, b = status_edges[burden]
if lineage(a) != lineage(b):
family[lineage(a)] = lineage(b)
count += 1
temp_answer += burden + 1
if count == N_nodes - 1:
answer.append(str(temp_answer))
break
else:
answer += ["0"] * (N_turn - turn)
break
print(" ".join(answer))