728x90
반응형
문제 설명
1. N명의 스태프, 만들어야 하는 풍선M이 주어진다.
2. 각 N명의 스태프가 1개의 풍선을 부는 데 들어가는 시간이 주어진다.
3. M개의 풍선을 만드는 최소시간을 구하라
풀이 과정
1. 이분탐색이다.
2. 이분탐색 -> Long타입에 주의하자...허헣 풀이방법 자체는 이전하고 별반 차이는 없다.
- 몇 분의 시간이 주어지고, 해당 시간동안 몇개의 풍선을 불 수 있는지 구하면 된다.
3. 왼쪽 -> 0으로 시작하면 된다.
4. 오른쪽 -> 풍선 부는데 제일 오래걸린 시간 * 풍선 개수면 일단 가장 오래걸리는 시간이 구해진다.
5. 만약 3, 5, 6분마다 한개씩 풍선을 만든다고 가정하면 7분이 주어지면 각각 2, 1, 1개를 만들것이다.
6. 현재 시간에 분 최대 풍선개수가 원하는 개수보다 적으면 답이 아니다.
7. 일단 지금 원하는 것보다 많은 풍선을 불었으면 저장해주고, 더 빠른 시간을 구하러 떠난다.
8. 이분탐색이 끝나면 정답을 return해준다.
코드
이분탐색은 참...주기적으로 하나씩 해줘야할것같다.
반응형
'알고리즘 공부' 카테고리의 다른 글
[백준 23352번] 방탈출 - java (0) | 2022.04.05 |
---|---|
[백준 1461번] 도서관 - java (0) | 2022.03.29 |
[백준 2792번] 보석 상자- java (0) | 2022.03.26 |
[백준 2343번] 기타 - java (0) | 2022.03.26 |
[백준 4179번] 불! - java (0) | 2022.03.20 |