본문 바로가기

전체 글312

[JAVA] 백준 17396 - 백도어 https://www.acmicpc.net/problem/173960 -> N까지의 최단경로를 구할 때, 갈 수 없는 정점을 피하며 갈 경우의 최단 경로를 구하는 문제이다.정점 개수랑 가중치 범위를 제대로 안보고 가중치 배열을 int로 잡았다가 한번 틀렸다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.PriorityQueue;public class Main { public static void main(String[] args.. 2025. 10. 5.
[JAVA] 백준 14284 - 간선 이어가기 2 https://www.acmicpc.net/problem/14284정점과 간선 정보가 주어졌을 때 마지막으로 주어지는 시작노드와 종료노드가 이어질 때까지 간선을 하나씩 추가하다가 이어지는 시점의 간선 가중치의 합을 반환하는 문제이다.결국 이건 시작 노드 -> 종료노드를 최단 경로로 이었을때 가중치의 합과 같으므로 평범한 다익스트라 문제가 된다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.PriorityQueue;public cla.. 2025. 10. 5.
[JAVA] 백준 9505 - 엔터프라이즈호 탈출 https://www.acmicpc.net/problem/9505N개의 테스트 케이스가 주어지고, 정보와 Map이 주어졌을 때, E에서 시작해 가장자리로 이동할 때 가중치가 최소값이 얼마인지 출력하는 문제이다.HashMap에 간선 정보를 저장 후 다익스트라로 E에서 모든 노드까지의 최단 경로를 구한 후 가장자리의 최솟값을 구했다.반복문 Index를 헷갈려서 시간을 잡아먹었다,, import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.HashMap;import java.util.PriorityQueue;public class M.. 2025. 10. 4.
[JAVA] 백준 2665 - 미로만들기 https://www.acmicpc.net/problem/2665https://ghcode.tistory.com/288빈 방, 1 -> 벽)N*M의 배열이 주어졌을 때, 0,0에서 (N-1,M-1)까지 이동할 때 부숴야하는 벽의 최소 갯수를 구하는 문제이다.빈방으로만 목적지까지 이동" data-og-host="ghcode.tistory.com" data-og-source-url="https://ghcode.tistory.com/288" data-og-url="https://ghcode.tistory.com/288" data-og-image="https://blog.kakaocdn.net/dna/bkeNjN/hyZKliOujH/AAAAAAAAAAAAAAAAAAAAAOkPuBEx2qD2WK8XXFVLD-r5tFZFKPHeHOzrs5ioJYLY/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1767193199&allow_ip=&allow_referer=&signature=eX6MgnCEkYa3t9pwB4TUMHxDLVo%3D 2025. 10. 4.
[JAVA] 백준 4485 - 녹색 옷 입은 애가 젤다지? https://www.acmicpc.net/problem/4485N개의 테스트 케이스별로 주어지는 M*M Map에서 (0,0) -> (M-1,M-1)까지의 비용을 구하는 문제로, 주어지는 Map이 가중치이다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.Comparator;import java.util.PriorityQueue;public class Main { static int[] dx = {0,0,1,-1}; static int[] dy = {1,-1,0,0}; public static void m.. 2025. 10. 4.
[JAVA] 1261 - 알고스팟 https://www.acmicpc.net/problem/12610과 1로 이루어진(0->빈 방, 1 -> 벽)N*M의 배열이 주어졌을 때, 0,0에서 (N-1,M-1)까지 이동할 때 부숴야하는 벽의 최소 갯수를 구하는 문제이다.빈방으로만 목적지까지 이동할 수 있으면 답은 반드시 0이고, 길이 막혀있는 경우에만 벽을 부수는데 부순 벽의 개수가 최소이게끔 하는 문제이다. 따라서 0과 1을 각각 가중치로 생각하고 다익스트라를 이용해 해결했다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.PriorityQueue;publi.. 2025. 10. 4.