Yeon DevLog

BFS 3

[BOJ][백준][JAVA] 11724 - 연결 요소의 개수

👩‍💻 문제 풀러 가기 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 👩‍💻 문제 방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오. 👩‍💻 문제 해결방법 계속해서 연결된 간선의 개수를 출력해내면 되는 문제다. 처음에 cycle을 확인하는 문제인 줄 알고 union-find로 풀었다가 문제를 다시 읽으니 그냥 총 연결된 간선의 개수만 return 하면 돼서 bfs로 풀었다.. ..

Algorithm 2022.01.25

[BOJ/백준][JAVA] 2056 - 작업

[문제] 2056번: 작업 수행해야 할 작업 N개 (3 ≤ N ≤ 10000)가 있다. 각각의 작업마다 걸리는 시간(1 ≤ 시간 ≤ 100)이 정수로 주어진다. 몇몇 작업들 사이에는 선행 관계라는 게 있어서, 어떤 작업을 수행하기 위해 www.acmicpc.net 📒 문제 수행해야 할 작업 N개 (3 ≤ N ≤ 10000)가 있다. 각각의 작업마다 걸리는 시간(1 ≤ 시간 ≤ 100)이 정수로 주어진다. 몇몇 작업들 사이에는 선행 관계라는 게 있어서, 어떤 작업을 수행하기 위해 반드시 먼저 완료되어야 할 작업들이 있다. 이 작업들은 번호가 아주 예쁘게 매겨져 있어서, K번 작업에 대해 선행 관계에 있는(즉, K번 작업을 시작하기 전에 반드시 먼저 완료되어야 하는) 작업들의 번호는 모두 1 이상 (K-1)..

Algorithm 2021.12.28

[백준/BOJ][JAVA] 18405 - 경쟁적 전염

문제 18405번: 경쟁적 전염 첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치 www.acmicpc.net 📒 문제 N*N 크기의 시험관에 바이러스는 1~K까지의 종류가 들어있다. 이때, 모든 바이러스는 1초마다 상, 하, 좌, 우로 번호가 낮은 순서대로 증식한다. 단, 바이러스가 이미 존재하는 칸에는 증식할 수 없다. 📒 해결방법 우선적으로 input을 받을 때, 0이 아닌 수가 들어오면 PriorityQueue에 넣었다. 이런식으로 x좌표, y좌표, 그리고 해당 배열의 값을 넣어서 그 값으로 정렬해서 낮은 순으로 PriorityQ..

Algorithm 2021.12.09
1