선발대

[스파르타] 99클럽 2기 코테스터디 24일차 TIL / 가장 먼 노드 본문

스파르타코딩클럽/활동 내용

[스파르타] 99클럽 2기 코테스터디 24일차 TIL / 가장 먼 노드

신선한 스타트 2024. 6. 12. 23:44

프로그래머스: 가장 먼 노드 (링크)

 

가장 먼 노드

 

 

 

from collections import deque

def solution(n, edge):
    A = [[] for _ in range(n+1)] # 그래프 데이터
    visited = [-1] * (n+1) # 방문 거리 저장 리스트
    answer = 0 # 최대 거리 노드 개수
    
    # 그래프 데이터 저장
    for line in edge:
        A[line[0]].append(line[1])
        A[line[1]].append(line[0])
        
    # 큐 자료구조에 시작 노드 삽입
    queue = deque()
    queue.append(1)
    
    while queue:
    	# 현재 노드 가져오기
        now_node = queue.popleft()
        # 현재 노드의 연결 노드 전부 탐색
        for i in A[now_node]:
        	# 현재 노드의 연결 노드 중 미 방문 노드
            if visited[i] == -1:
                visited[i] = visited[now_node] + 1
                queue.append(i)

    visited[1] = 0
    distance = max(visited) # 최대 거리 구하기
    
    # 최대 거리 노드 개수 구하기
    for i in visited:
        if i == distance:
            answer += 1
                
    return answer

오늘 미들러 풀이 끝!

Comments