Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- textfield
- 암호학
- 쿠링
- Gradle
- android
- activity
- Compose
- ProGuard
- 백준
- Hilt
- Kotlin
- boj
- Coroutines
- Coroutine
- pandas
- 코루틴
- 프로그래머스
- GitHub
- relay
- livedata
- Codeforces
- androidStudio
- 코드포스
- Rxjava
- architecture
- MyVoca
- AWS
- TEST
- MiTweet
- Python
Archives
- Today
- Total
이동식 저장소
8980. 택배 본문
이런 구간 류의 문제는 일단 구간의 끝을 기준으로 정렬해놓고 생각해야 한다. (참고: 20440번 문제)
왜?
보내는 마을이 빠른 택배를 먼저 실으면 어떤 일이 일어날까? 다음의 입력을 생각해 보자.
5 5
2
1 10 5
4 5 10
다른 요소가 동일하다면 회전율이 높은 트럭이 더 많은 상자를 배송할 수 있다. 위의 첫 번째 택배처럼 오랫동안 트럭을 점유하고 있으면 곤란하다.
즉 택배를 싣는 마을이 아니라 택배를 내리는 마을을 기준으로 생각해야 한다. 어디서 실었는지는 중요하지 않고, 일단 빨리 내릴 수 있는 택배를 먼저 배송해야 한다.
해결
주어진 입력을 받는 마을의 오름차순으로 정렬하고, 정렬된 순서대로 각 구간에서 배송할 수 있는 최대 수량만큼 배송하면 된다. 택배의 보내는 마을을 $from$, 받는 마을을 $to$, 보내는 수량을 $amount$라고 하면 이 택배는 $[from, to)$ 구간에서 $amount$만큼의 유량을 점유한다. 나는 배열을 선언하여 각 마을 사이의 현재 유량을 저장하였다.
의외로 2시간 동안 고민했던 문제. 문제를 자주 풀지 않아서 영..
'Problem Solving > BOJ' 카테고리의 다른 글
22996. 유니온 파인드 복원 (0) | 2021.08.26 |
---|---|
16985. Maaaaaaaaaze (0) | 2021.08.22 |
10800. 컬러볼 (0) | 2021.07.21 |
1507. 궁금한 민호 (0) | 2021.06.26 |
2696. 중앙값 구하기 (0) | 2021.05.24 |
Comments