CodingTest/Programers

[programers] 프로그래머스(파이썬) : 가장 먼 노드

JunJangE 2022. 8. 19. 15:29

문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

알고리즘

- 그래프를 표현한 후 bfs 탐색을 통해 문제를 수행한다.

- 이때 가까운 노드부터 탐색하기 위해 deque를 사용해준다.

코드

from collections import deque

def solution(n, edge):
    graph = [[] for _ in range(n+1)]
    visited = [0 for _ in range(n+1)]

    for a, b in edge:
        graph[a].append(b)
        graph[b].append(a)

    queue = deque([1])
    visited[1] = 1
    while queue:
        x = queue.popleft()

        for i in graph[x]:

            if visited[i] == 0:
                queue.append(i)
                visited[i] = visited[x] + 1

    answer = visited.count(max(visited))
    return answer

github

 

GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법(Python)

내가 푼 코딩 테스트 문제와 해결법(Python). Contribute to junjange/CodingTest development by creating an account on GitHub.

github.com