[BOJ] 백준 11657 타임머신 (JAVA)
Algorithm/- Baekjoon2024. 2. 20. 14:37[BOJ] 백준 11657 타임머신 (JAVA)

📑 문제🌱 아이디어"시간이 되돌아가는 경우" -> 만약 음수 사이클이 존재한다면 무한히 시간을 되돌릴 수 있다즉 그래프 내 음수 사이클을 판별하기 위해 벨만포드 알고리즘을 사용해야 한다! 벨만포드 알고리즘은 최단거리를 구하는 알고리즘입니다. 음수 사이클이 존재한다면 계속 최단거리가 업데이트된다는 특징이 있기 때문에이러한 특징을 바탕으로 밸 만 포드 알고리즘 N번까지 실행했을 때 마지막까지 최단거리가 업데이트된다면 음의 사이클이 존재한다는 것을 증명할 수 있다.   위 그래프는 예제 입력 2번을 토대로 만든 그래프와 가중치이다. 밸만포드 알고리즘을 N번까지 실행해 보자1회 차 : 1(-2) / 2(4) / 3(0)2회 차 : 1(-4) / 2(2) / 3(-2)3회 차 : 1(-6) / 2(0) / 3..

[BOJ] 백준 14938 서강그라운드 (JAVA)
Algorithm/- Baekjoon2023. 12. 25. 01:27[BOJ] 백준 14938 서강그라운드 (JAVA)

📑 문제🌱  아이디어N 번 반복 다익스트라알고리즘과 플로이드 워셜 알고리즘 두 방법으로 풀 수 있다일단 나는 다익스트라 알고리즘을 사용해서 풀기로 했다 (그냥 빠를 것 같아서...) 사실 플로이드 워셜을 사용해도 시간초과는 걱정안 해도 된다 ㅎㅎ위 문제에서 "탐색 범위"를 입력으로 주는데, 예를 들어 탐색 범위가 5 일 때 현재 노드로부터 다른 노드까지의 거리가5보다 작거나 같아야 한다. 즉 현재 노드에서 모든 노드의 최단거리를 구하고, 탐색범위 이하의 노드들의 아이템을 도출한다! 🌱 코드 및 풀이그래프가 가지는 모든 정점을 기준으로 각각 시작노드로 설정 후 모든 정점을 기준으로 최단거리를 탐색하고탐색범위에 비례한 아이템을 챙길 수 있는 최대 숫자를 출력한다. 즉 현재 노드에 아이템이 몇 개가 있는..

image