동까의 코딩

[99클럽] 23일차 TIL 본문

문제 풀이/99클럽

[99클럽] 23일차 TIL

동까의 코딩 2024. 6. 12. 13:15
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/49189

 

프로그래머스

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

programmers.co.kr

 

그래프를 이용한 탐색 문제입니다.

 

 

그래프를 선언해 주고 해당 노드를 방문할 때마다 거리를 늘려주는 방법을 사용하여 저장하고 max값을 뽑아내줍니다.

 

from collections import deque

def solution(n, edge):
    answer = 0
    
    edge = sorted(edge)
    distance = [0] * (n + 1)
    queue = deque()
    graph = [[] for _ in range(n + 1)]
    
    for i in edge:
        graph[i[0]].append(i[1])
        graph[i[1]].append(i[0])
        
    queue.append(1)
    distance[1] = 1
    
    while queue:
        current = queue.popleft()
        for node in graph[current]:
            if distance[node] == 0:
                queue.append(node)
                distance[node] = distance[current] + 1
    max_distance = max(distance)
    
    for j in distance:
        if j == max_distance:
            answer += 1
    
    return answer
반응형

'문제 풀이 > 99클럽' 카테고리의 다른 글

[99클럽] 25일차 TIL  (0) 2024.06.14
[99클럽] 24일차 TIL  (1) 2024.06.14
[99클럽] 22일차 TIL  (0) 2024.06.11
[99클럽] 21일차 TIL  (0) 2024.06.10
[99클럽] 20일차 TIL  (0) 2024.06.09