[프로그래머스] Level3, 가장 먼 노드 (Python)

2021. 7. 26. 11:21·알고리즘/프로그래머스
728x90
반응형

문제

https://programmers.co.kr/learn/courses/30/lessons/49189?language=python3 

 

코딩테스트 연습 - 가장 먼 노드

6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3

programmers.co.kr

 

코드

import collections
def solution(n, edge):
    answer = 0
    graph = [[] for _ in range(n+1)]
    visited = [False for _ in range(n+1)]
    distance = [0 for i in range(n+1)]
    for i in edge:
        graph[i[0]].append(i[1])
        graph[i[1]].append(i[0])
        
    queue = collections.deque()
    queue.append(1)
    def bfs():
        while queue:
            cur = queue.popleft()
            visited[cur] = True
            for next in graph[cur]:
                if visited[next] == False:
                    visited[next] = True
                    distance[next] = distance[cur] + 1
                    queue.append(next)
    bfs()
    maxx = max(distance)
    for i in distance:
        if maxx == i:
            answer += 1
    return answer

경로에 거리를 구하는 문제로 bfs를 사용하여 풀어줬다.

 

edge를 받아 for문을 돌아 graph에 인접리스트 형식으로 넣어주고 bfs를 수행한다.

 

1노드 부터 bfs를 돌아 distance에 각노드와의 거리가 저장이 되고 for문을 돌아 가장 큰값에 갯수를 세어 반환한다.

반응형
저작자표시 (새창열림)

'알고리즘 > 프로그래머스' 카테고리의 다른 글

[프로그래머스] Level 2, 메뉴 리뉴얼 (Python)  (0) 2021.08.05
[프로그래머스] Level 1, 신규 아이디 추천 (Python)  (0) 2021.08.05
[프로그래머스] Level3, 네트워크 (Python)  (0) 2021.07.14
[프로그래머스] Level2, 방문길이(Python)  (0) 2021.06.28
[프로그래머스] Level1, 3진법 뒤집기 (Python)  (0) 2021.06.26
'알고리즘/프로그래머스' 카테고리의 다른 글
  • [프로그래머스] Level 2, 메뉴 리뉴얼 (Python)
  • [프로그래머스] Level 1, 신규 아이디 추천 (Python)
  • [프로그래머스] Level3, 네트워크 (Python)
  • [프로그래머스] Level2, 방문길이(Python)
wookcode
wookcode
공부한 내용들을 정리하고 기록하는 블로그입니다.
    반응형
  • wookcode
    wookcode
    wookcode
  • 전체
    오늘
    어제
    • 카테고리 (196) N
      • study (1) N
        • 아파치 카프카 애플리케이션 프로그래밍 with 자.. (0)
        • 인프런 (1) N
      • Live Study (15)
      • Programming (14)
        • Java (8)
        • Python (1)
        • Springboot (5)
        • MSA (0)
      • 알고리즘 (117)
        • 백준 (58)
        • 프로그래머스 (59)
      • 에러로그 (5)
      • 항해99 (23)
      • 면접 (1)
      • 프로젝트 (1)
      • CS (19)
        • 네트워크 (2)
        • 운영체제 (2)
        • 데이터베이스 (2)
        • 컴퓨터구조 (1)
        • Java (8)
        • Spring (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    SFlash
    김영한
    정리
    회고
    버그
    spring
    항해99
    그리디
    조합
    프로그래머스
    후기
    java
    미니프로젝트
    jpa
    카카오코딩테스트
    알고리즘
    에러
    파이썬
    해결
    백준
    인프런
    브루트포스
    SpringBoot
    orm
    카카오인턴
    항해마켓
    스파르타코딩클럽
    실전프로젝트
    괄호
    코딩테스트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
wookcode
[프로그래머스] Level3, 가장 먼 노드 (Python)
상단으로

티스토리툴바