백준

    [백준, BOJ 2623] 음악프로그램 (java)

    https://www.acmicpc.net/problem/2623 2623번: 음악프로그램 첫째 줄에는 가수의 수 N과 보조 PD의 수 M이 주어진다. 가수는 번호 1, 2,…,N 으로 표시한다. 둘째 줄부터 각 보조 PD가 정한 순서들이 한 줄에 하나씩 나온다. 각 줄의 맨 앞에는 보조 PD가 담당한 www.acmicpc.net 메모리: 15,112 KB , 시간: 164 ms 사용 알고리즘: 방향 비순환 그래프, 그래프 이론, 위상 정렬 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; imp..

    [백준, BOJ 5972] 택배 배송 (java)

    https://www.acmicpc.net/problem/5972 5972번: 택배 배송 농부 현서는 농부 찬홍이에게 택배를 배달해줘야 합니다. 그리고 지금, 갈 준비를 하고 있습니다. 평화롭게 가려면 가는 길에 만나는 모든 소들에게 맛있는 여물을 줘야 합니다. 물론 현서는 www.acmicpc.net 메모리: 38,660 KB , 시간: 428 ms 사용 알고리즘: 데이크스트라, 그래프 이론, 최단 경로 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.PriorityQueue; import java.util.St..

    [백준, BOJ 5549] 행성 탐사 (java)

    https://www.acmicpc.net/problem/5549 5549번: 행성 탐사 상근이는 우주선을 타고 인간이 거주할 수 있는 행성을 찾고 있다. 마침내, 전 세계 최초로 인간이 거주할 수 있는 행성을 찾았다. 이 행성은 정글, 바다, 얼음이 뒤얽힌 행성이다. 상근이는 이 www.acmicpc.net 메모리: 103,608 KB , 시간: 1,116 ms 사용 알고리즘: 누적 합 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws Exception{ Buf..

    [백준, BOJ 13905] 세부 (java)

    https://www.acmicpc.net/problem/13905 13905번: 세부 첫 번째 줄에는 섬에 존재하는 집의 수 N(2≤N≤100,000)와 다리의 수 M(1≤M≤300,000)이 주어진다. 두 번째 줄에는 숭이의 출발 위치(s)와 혜빈이의 위치(e)가 주어진다. (1≤s, e≤N, s≠e). 다음 M개의 줄 www.acmicpc.net 메모리: 128,500 KB , 시간: 908 ms 사용 알고리즘: 데이크스트라, 그래프 탐색, 그래프 이론, 분리 집합, 자료 구조 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.PriorityQueue; ..

    [백준, BOJ 17179] 케이크 자르기 (java)

    https://www.acmicpc.net/problem/17179 17179번: 케이크 자르기 첫 번째 줄에 자르는 횟수가 담긴 목록의 길이 N과 자를 수 있는 지점의 개수 M, 그리고 롤 케이크의 길이인 정수 L이 주어진다. (1 ≤ N ≤ M ≤ 1,000, 1 < L ≤ 4,000,000) 다음 M줄에 걸쳐 자를 수 있는 www.acmicpc.net 메모리: 19,392 KB , 시간: 248 ms 사용 알고리즘: 이분 탐색, 매개 변수 탐색 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(S..

    [백준, BOJ 20955] 민서의 응급 수술 (java)

    https://www.acmicpc.net/problem/20955 20955번: 민서의 응급 수술 민서는 강원대학교 컴퓨터공학과의 신임 교수이다. 그녀가 저술한 효율적인 택배 배달을 위한 최적 경로 설계에 관한 연구 논문은 아직도 널리 인용되고 있다. 오늘도 열심히 강의를 하던 민서 www.acmicpc.net 메모리: 39,596 KB , 시간: 388 ms 사용 알고리즘: 유니온 파인드, 트리, 그래프 탐색, 그래프 이론 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int[] parent; public static voi..

    [백준, BOJ 1766] 문제집 (java)

    https://www.acmicpc.net/problem/1766 1766번: 문제집 첫째 줄에 문제의 수 N(1 ≤ N ≤ 32,000)과 먼저 푸는 것이 좋은 문제에 대한 정보의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 둘째 줄부터 M개의 줄에 걸쳐 두 정수의 순서쌍 A,B가 빈칸을 사이에 두고 주 www.acmicpc.net 메모리: 45,564 KB , 시간: 584 ms 사용 알고리즘: 위상 정렬, 우선순위 큐, 그래프 이론, 자료 구조, 방향 비순환 그래프 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main..

    [백준, BOJ 17396] 백도 (java)

    https://www.acmicpc.net/problem/17396 17396번: 백도어 첫 번째 줄에 분기점의 수와 분기점들을 잇는 길의 수를 의미하는 두 자연수 N과 M이 공백으로 구분되어 주어진다.(1 ≤ N ≤ 100,000, 1 ≤ M ≤ 300,000) 두 번째 줄에 각 분기점이 적의 시야에 보이는 www.acmicpc.net 메모리: 134,104 KB , 시간: 992 ms 사용 알고리즘: 데이크스트라, 그래프 이론, 최단 경로 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.PriorityQueue..

    [백준, BOJ 18866] 젊은 날의 생이여 (java)

    https://www.acmicpc.net/problem/18866 18866번: 젊은 날의 생이여 욱제의 젊은 날이 될 수 있는 최대 기간, 즉 문제의 조건을 만족할 수 있는 최대의 1 ≤ K K+1~N 구간의 최대 행복도 * 1~K 구간의 최대 피로도 < K+1~N 구간의 최소 피로도 * 이를 만족하는 K를 찾으면 된다. * * u,v가 0인 경우에는 항상 최선의 선택지를 선택해주면 된다. * 최선의 선택지란 * 1~K 구간의 최소 행복도를 낯추지 않고, K+1~N 구간의 최대 행복도를 높이지 않는 것. * 1~K 구간의 최대 피로도를 높이지 않고, K+1~N 구간의 최소 피로도를 낮추지 않는 것. * 이를 위해서 0이 나온 경우 구간 최소,최대값을 구할 때 이전 구간의 최소최대값을 그대로 사용한다...

    [백준, BOJ 4386] 별자리 만들기 (java)

    https://www.acmicpc.net/problem/4386 4386번: 별자리 만들기 도현이는 우주의 신이다. 이제 도현이는 아무렇게나 널브러져 있는 n개의 별들을 이어서 별자리를 하나 만들 것이다. 별자리의 조건은 다음과 같다. 별자리를 이루는 선은 서로 다른 두 별을 일 www.acmicpc.net 메모리: 14,540 KB , 시간: 140 ms 사용 알고리즘: 그래프 이론, 최소 스패닝 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.StringTokenizer; public class..