반응형
SMALL

2025/06/03 2

다익스트라, DFS, BFS, 그리고 기타 주요 알고리즘을 언제 쓰는지

✅ 1. 다익스트라 알고리즘 (Dijkstra)목적: 한 정점 → 모든 정점까지의 최단 거리 구할 때조건: 가중치가 양수이고, 간선의 비용이 존재할 때사용 예시: 시간, 거리, 비용 등의 최솟값을 구하는 문제키워드: 최단거리, 시간, 거리, 우선순위 큐📌 대표 문제: "도시 X에서 모든 도시로 가장 빨리 가는 방법은?"✅ 2. DFS (깊이 우선 탐색)목적: 그래프의 모든 정점을 깊이 있게 탐색사용 예시:백트래킹, 조합 탐색미로 탈출, 사이클 찾기, 연결 요소 개수 세기 등특징: 재귀 함수 또는 스택 사용📌 대표 문제: "두 노드가 연결되어 있는가?", "몇 개의 덩어리로 나뉘는가?"✅ 3. BFS (너비 우선 탐색)목적: 최단 거리 탐색 (가중치가 모두 1일 때)사용 예시:미로 탈출, 퍼즐 이동 횟..

카테고리 없음 2025.06.03

백준 1238번 파티(골드 3)

문제N개의 숫자로 구분된 각각의 마을에 한 명의 학생이 살고 있다.어느 날 이 N명의 학생이 X (1 ≤ X ≤ N)번 마을에 모여서 파티를 벌이기로 했다. 이 마을 사이에는 총 M개의 단방향 도로들이 있고 i번째 길을 지나는데 Ti(1 ≤ Ti ≤ 100)의 시간을 소비한다.각각의 학생들은 파티에 참석하기 위해 걸어가서 다시 그들의 마을로 돌아와야 한다. 하지만 이 학생들은 워낙 게을러서 최단 시간에 오고 가기를 원한다.이 도로들은 단방향이기 때문에 아마 그들이 오고 가는 길이 다를지도 모른다. N명의 학생들 중 오고 가는데 가장 많은 시간을 소비하는 학생은 누구일지 구하여라.입력첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부..

공부/Python 2025.06.03
반응형
LIST