차곡차곡 성 쌓기
article thumbnail
[백준] 강의실 배정 : 11000 : Java - 그리디
알고리즘/백준 2024. 1. 22. 22:11

1. 💎 문제 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net 2. 🤔 접근 구해야 하는 것은 최소 강의실의 수이다. 그러므로 n개의 강의실을 운영하다가 n개의 강의실이 모두 꽉 차있어 새로운 강의를 열 수 없을 때, 강의실을 늘려준다. 1. 우선 순위 큐 사용 n개의 강의실을 운영하기 위해 우선 순위 큐를 사용한다. 왜냐하면 최소의 강의실을 유지하기 위해서는 여러 개의 강의실 중 가장 일찍 끝나는 강의실에 새로운 강의를 배정해야 되기 때문이다. 그러므로 항상 가장 일찍 끝나는 강의실을 찾기 위해 삽입 시 오름차순 정렬을 해주는 우선 순위 큐를 사용한다. 2..

article thumbnail
[백준] 꿀 따기 : 21758 : JAVA
알고리즘/백준 2023. 12. 9. 00:50

1. 🍅 문제 21758번: 꿀 따기 첫 번째 줄에 가능한 최대의 꿀의 양을 출력한다. www.acmicpc.net 2. 🤔 어떻게 풀까? 구해야 되는 것 : 얻을 수 있는 최대 꿀의 양 조건 : 벌 2마리가 지나가면 꿀을 채취할 수 있음, 단 벌이 시작한 위치에서는 어느 벌이든 채취하지 못함 조건 속에서 최대 꿀의 양을 구하기 위해 가능한 루트를 생각했다. 생각할 수 있는 루트는 3가지이다. 1. 벌 2마리가 같이 왼쪽에서 오른쪽으로 전진 2. 벌 2마리가 같이 오른쪽에서 왼쪽으로 전진 3. 벌 2마리가 양 끝에서 전진 이 3가지의 상황을 모두 따져가면서 해보면 최대 꿀의 양을 찾을 있지 않을까? ..하지만 경우의 수를 다 해보면 시간 초과가 날 것 같아서 더 좋은 방법이 없을까 고민하였다. 결국 찾을..

article thumbnail
[S5] 거스름돈 : Java : 14916 - 그리디
알고리즘/백준 2023. 10. 7. 19:31

문제 14916번: 거스름돈 첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다. www.acmicpc.net 풀이 생각 n을 5와 2로만 채울 때 가장 최소 동전의 개수를 구해야 하므로, 5를 기준으로 5 동전의 크기를 줄여나가면서 구한다. 코드 1. input() n을 입력 받는다. public void getInput() throws Exception { n = Integer.parseInt(br.readLine()); } 2. solution() 예를 들어 18일 때 18 ÷ 5 = 3이므로 최대 5 동전의 개수는 3이다. 그 후 18 - (5 X 3) = 3(나머지수)을 2 동전으로 채울 수 있는지 확인한다. 만약 나머지 수를 2로 채울 수 있다면 결과에 3 ÷ 2 = 1 의 ..

728x90