[프로그래머스] 가장 먼 노드 (파이썬 python)
2022. 6. 10. 23:27ㆍ알고리즘/프로그래머스
반응형
코딩테스트 - 그래프 - 가장 먼 노드 [Level3]
문제링크 : 가장 먼 노드
코딩테스트 연습 - 가장 먼 노드
6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3
programmers.co.kr
문제풀이
그래프 문제입니다.
기존 BFS 풀이를 가지고 풀면
7,8,9 케이스에서 "시간 초과"를 만나게 됩니다.
그러기 위해서 그래프의 방법 중
"인접 행렬" 이 아닌 "인접 리스트"를 사용해야 합니다.
list = [[0 for _ in range(n+1)] for _ in range(n+1)]
위 행렬 생성 코드 작성만 해놔도 시간 초과가 걸립니다.
인접 행렬의 경우 연결할 수 있는 모든 경우의 수를 체크를 하고
인접 리스트는 연결된 경우의 수만 체크하기 때문에
노드가 많고 연결이 적은 경우 시간 차이가 많이 납니다.
linked_list 안에 연결된 노드들을 넣어 체크를 진행합니다.
가장 인기 많은 답변
- 방식은 비슷하나 따로 visit 행렬을 사용했습니다.
- 가장 먼 노드만 파악하면 되기 때문에 distances에서 방문 처리해도 된다고 생각합니다.
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/python] 자물쇠와 열쇠 (0) | 2022.08.10 |
---|---|
[프로그래머스/python] 순위 검색 (0) | 2022.08.10 |
[프로그래머스] 네트워크 - 파이썬 python (0) | 2022.06.08 |
[프로그래머스] 정수 삼각형 - 파이썬 python (0) | 2022.06.07 |
[프로그래머스] 디스크 컨트롤러- 파이썬 python (0) | 2022.06.07 |