99클럽 코테 스터디 5일차 TIL + 가장 먼 노드

Saang Bum Kim·2024년 4월 26일
0

99클럽

목록 보기
11/59

문제

링크텍스트

난관

  • 하나의 노드에 도달하는 경로가 여러개인 경우에 각각의 distance를 다 저장해야 하나 싶었다.
  • 힌트를 보고 생각해 보니, 하나의 노드에서 출발하는 모든 경로를 다 검토 했다면, 그 노드는 큐에서 제거해도 되겠다는 결론을 얻었다.

결과

def solution(n, vertex):
    answer = 0
    graph =[[] for _ in range(n+1)]
    distance = [-1]*(n+1)
    for v in vertex:
        graph[v[0]].append(v[1])
        graph[v[1]].append(v[0])  
    s = [1]
    distance[1] = 0   
    while s:
        now = s[0]
        s = s[1:]
        for i in graph[now]:
            if distance[i] == -1 or distance[i] > distance[now] + 1:
                s.append(i)
                distance[i] = distance[now] + 1
    print(distance)
    for d in distance:
        if d == max(distance):
            answer += 1
    return answer

profile
old engineer

0개의 댓글