b6497. 전력난
·
Algorithm & Data Structures/BOJ
✨ 자바로 푸는 전력난 문제 풀이 📌 문제 개요 “전력난” 문제는 모든 집(노드)을 전깃줄(간선)로 잇되,기존 모든 전선 설치 비용에서 최소한의 유지 비용만 남기기 위한 문제입니다. 즉, 모든 집이 연결되어야 하고최소한의 전기선만 남겨절약 가능한 비용을 구하는 것이 목표입니다. 이 구조는 전형적인 최소 신장 트리(MST) 문제입니다. 💡 예제 입력7 110 1 70 3 51 2 81 3 91 4 72 4 53 4 153 5 64 5 84 6 95 6 110 0 🛠 알고리즘 접근 방식 전체 간선 비용 합계를 구하고크루스칼 알고리즘으로 최소 신장 트리를 구성전체 비용 - MST 비용 = 절약된 전기 요금 ✅ 핵심 아이디어 간선을 비용 순으로 정렬하고,Union-Find(서로소 집합)을 통해 사이..
b1774. 우주신과의 교감
·
Algorithm & Data Structures/BOJ
https://www.acmicpc.net/problem/1774 🌌 자바로 푸는 우주신과의 교감 문제 풀이 📌 문제 개요 백준 1774번 우주신과의 교감 문제는N개의 신들과 이미 연결된 M개의 통로 정보가 주어졌을 때,모든 우주신이 연결되도록 추가로 연결해야 할 최소 거리의 합을 구하는 문제입니다. 각 우주신은 2차원 좌표 위에 존재이미 연결된 통로는 추가 비용 없이 사용 가능목표는 전체 우주신을 연결하는 최소 비용 💡 예제 입력4 11 12 22 43 31 4 예제 출력2.00 🛠 알고리즘 접근 방식 이 문제는 기존 연결 정보를 고려한 최소 신장 트리(MST) 문제입니다. ✅ 핵심 아이디어 크루스칼 알고리즘을 사용해 거리 기준 오름차순 간선 선택M개의 이미 연결된 통로는 먼저 uni..
b1647. 도시 분할 계획
·
Algorithm & Data Structures/BOJ
https://www.acmicpc.net/problem/1647   이 문제는 크루스칼 알고리즘을 사용해 최소 스패닝 트리(MST)를 구하면서가장 큰 간선 비용을 제외해 두 개의 연결된 부분으로 나누는 문제다.목표는 모든 정점을 최소 비용으로 연결하는 트리를 구성하되,가장 큰 비용의 도로를 제외해 두 개의 분리된 부분으로 만드는 것이다. 먼저 main 메서드에서 정점 개수 N과 간선 개수 M을 입력받고,유니온-파인드를 위한 부모 배열 p를 초기화한다.각 간선의 정보를 입력받아 우선순위 큐 pq에 저장하며,큐는 간선의 비용을 기준으로 오름차순 정렬된다. calculate 메서드는 크루스칼 알고리즘을 사용해 MST를 구한다.우선순위 큐에서 가장 작은 간선부터 하나씩 꺼내어,두 정점이 이미 연결되어 있지 않..