본문 바로가기

전체 글54

[백준, 7662, G4] 이중 우선순위 큐 0. 문제 링크 https://www.acmicpc.net/problem/7662 7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 Q에 적 www.acmicpc.net 1. 문제 핵심 우선순위 큐인데 입력받은 값을 양쪽으로 제거할 수 있어야 합니다. 2. 문제 접근 자바의 PriorityQueue는 처음 선언할 때 comparator를 변경할 수 없기 때문에 PQ를 2개 만들던가, 아니면 다른 Collection을 사용해야 한다고 생각은 했습니다. 하지만 PQ를 2개 만들었을 때 가장 높은 데이터를 삭제했을 때 오름차순 PQ에 저장한 해당 데.. 2022. 10. 18.
[백준, 13905, G4, MST] 세부 0. 문제 링크 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 1. 문제 핵심 그래프 탐색을 하며 출발지부터 목적지까지 경로를 탐색하는 중에 가장 빼빼로를 많이 들고갈 수 있는 경로를 탐색하는 문제입니다. 2. 문제 접근 그래프 탐색이기 때문에 별 생각없이 다익스트라를 사용했습니다. 다익스트라를 사용했을 때 가지치기를 적절히 사용해준다면 문제는 풀립니다. 하지만 자바 1등과 시간 차이가 커서 다른 방법.. 2022. 10. 18.
[백준, S1, DP] 쉬운 계단 수 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; int N = Integer.parseInt(br.readLine()); int size = 0; if (N == 1) size = 3; else size = N + 1; long[][] dp = new long[N + 1][10]; for (int i = 1; i < 10; i++) { dp[1][i] = 1; } for (int.. 2022. 10. 18.
[백준, G5, 그리디] 강의실 배정 0. 문제 링크 https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si 수업이 마치는 순으로 정렬을 해주었습니다. 2. 다만 그 이후에 최소한으로 강의실을 사용하기 위해 정렬한 강의 시간을 어떻게 활.. 2022. 10. 17.