문제 : https://www.acmicpc.net/problem/16497
코드 : https://github.com/NaHwaSa/BOJ_BaekjunOnlineJudge/blob/master/16400/BOJ_16497.java
이 문제의 경우, 31일까지 모든 날짜에 대해 현재 대출되어 있는 책의 수를 세보면 간단히 풀 수 있다.
이 때 주의점은 (3, 6)이라면 3일에 빌려서 6일 0시에 딱 반납된다고 생각하면 된다. 즉, (3, 6)과 (6, 8)이 있다면 k=1 일때도 처리할 수 있다는 의미이다. 따라서 (3, 6)이라면 3일에 빌려서 5일까지만 가지고 있다고 생각하면 된다.
그럼 문제에 나온 기본 예시 (1, 2), (3, 6), (5, 8)은 다음과 같이 나타낼 수 있다.
이와 같이 모든 날에 대출되어 있는 책을 배열형태로 나타내보면, 각 날에 몇 권의 책이 대여된 상태인지 알 수 있다. 그럼 가장 많은 책이 대여된 날의 수보다 k가 작다면 대여가 불가한 것이다.
위의 경우 5번째 날에 2권이 대여된 상태여야 하므로, k가 1이면 불가, 2 이상이면 가능하다.
'PS > BOJ' 카테고리의 다른 글
백준 23256 자바 - 성인 게임 (BOJ 23256 JAVA) (0) | 2021.10.21 |
---|---|
백준 1270 자바 - 전쟁 - 땅따먹기 (BOJ 1270 JAVA) (0) | 2021.10.21 |
백준 16666 자바 - Guest Student (BOJ 16666 JAVA) (0) | 2021.10.18 |
백준 11376 자바 - 열혈강호 2 (BOJ 11376 JAVA) (0) | 2021.10.17 |
백준 11375 자바 - 열혈강호 (BOJ 11375 JAVA) (0) | 2021.10.16 |
댓글