728x90
반응형
코딩테스트 연습 - 가장 먼 노드
6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3
programmers.co.kr
문제
n개의 노드가 있는 그래프가 있습니다.
1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다.
노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때,
1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return하도록 solution 함수를 작성해주세요.
풀이
넵! 문제의 정답이 나와있습니다.😊 그래프 문제입니다.
그 중 특정 지점에서 가장 가까운 노드들에서 시작해 점차 먼 노드들을 순서대로 탐색하는
BFS를 이용해 풀 수 있는 문제입니다.👍
코드
def solution(n, edge):
answer = 0
maps = [[] * n for _ in range(n)]
for s, e in edge:
maps[s-1].append(e-1)
maps[e-1].append(s-1)
q = []
node = [0]
visited = [False] * n
q.append((0,1))
visited[0] = True
while q:
n, cost = q.pop(0)
if cost == len(node):
node[cost-1] += 1
else:
node.append(1)
for e in maps[n]:
if not visited[e]:
visited[e] = True
q.append((e, cost+1))
return node[-1]
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv 3. 순위 (0) | 2022.06.06 |
---|---|
[프로그래머스] Lv 3. 네트워크(Kotlin) (0) | 2022.06.06 |
[프로그래머스] Lv 3. N으로 표현(Kotlin) (0) | 2022.06.05 |
[프로그래머스] Lv 3. 입국심사 (0) | 2022.06.05 |
[프로그래머스] Lv 2. k진수에서 소수 개수 구하기(Python/Kotlin) (0) | 2022.06.04 |