백준 1238. 파티 (파이썬- 다익스트라 알고리즘)

ppm_Vely·2022년 6월 21일
0

코딩테스트

목록 보기
1/21

문제를 요약하면..

시작 노드부터 목표 노드까지 갔다가 오는 최대비용을 구하는 문제

시도 1. 다익스트라 알고리즘 사용 (정답)

  • if distance[now] < dict: continue 이 조건문의 의미는

현재 노드가 이미 처리된 노드인지 check하는 조건문으로, 방문한적이 있다면 거리비용을 바꿀 필요가 없으므로 반복문을 skip (continue) 한다.

-나는 dijkstra 함수 파라미터에 start와 end를 추가했다. (다른 정답 풀이(시도2)와 다른점이다.)

시도2.

dijkstra(start) - start 인자만 갖으며 distance 리스트로 반환하는 함수

마지막 반복문에서 최댓값 찾는 방식이 다름

이렇게 start 인자만 갖고 distance 리스트를 반환하는 함수로 코딩해도 맞다.

시도1, 시도2 알고보면 똑같은 코드이지만 살짝 다르게 해보았다.

나는 end 인자를 추가하여 바로 찾고하자는 요소를 반환하도록 코딩해보았다.

그 이유는 이 문제는 (출발 포인트에서 목표노드(X)까지 거리) + (목표노드(X)에서 출발했던 노드까지 거리)를 모두 구한 후, 최댓값을 찾아야 하기 때문에 바로 start~end 노드의 거리를 반환하도록 코딩했다.

※참고※
익스트라 알고리즘 개념 참고
https://www.youtube.com/watch?v=acqm9mM1P6o

profile
오늘도 개발중인 ppm's Programming Log

0개의 댓글