Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🔗 문제 링크
택배
✔️ 소요된 시간
2시간 인데.. 생각을 좀 더 쉽게 했으면 금방 풀었을듯...
✨ 수도 코드
설 연휴에도 불철주야 일하시는 택배기사님들 화이팅 ..!
이 문제가 쉽게 생각하면 참 간단한 문제였는데...
어렵게 생각해서 Heap 쓰고 이러다가 시간 완전 오래걸렸네요 ...
이 문제의 핵심은 도착지점이 빠른 숫자인 곳부터 택배를 먼저 나르는 거랍니다.
그렇기 때문에 택배를 먼저 도착 지점을 기준으로 정렬을 해야해요.
저는 도착지점, 시작지점을 기준으로 정렬을 했는데 생각해보니까 시작지점을 기준으로 정렬을 할 필요는 없었을 것 같네요.
그냥 도착지점을 기준으로 정렬만 해도 될 것 같아요.
(어차피 도착지점을 기준으로 정렬되어있기 때문에 해당 도착지점까지 가는데 나를 수 있는 택배수는 정해져있기 때문이에요.)
그 다음 핵심은 N 번마을까지 있다고 했을때 N번 마을에서 가지고 갈 수 있는 택배 사이즈의 개수를 표로 관리하는거에요.
이렇게 하는 이유는 택배를 모두 들지 않더라도 내가 들 수 있는 만큼은 가져갈 수 있으므로 이를 계산하기 위함이에요.
예를 들어, 아래와 같은 예제가 있다고 하면 (문제의 예제 2)
로 초기화를 한 뒤,
택배를 도착지를 기준으로 정렬을 해요.
그럼 1~2로 30개를 옮길 수 있으므로
아래와 같이 표를 업데이트 하고,
그 다음은 3~4 40개를 옮길 수 있으므로 또 표를 업데이트 해요
이제 그 다음이 핵심인데,
2~5 를 가는 택배에 70개를 옮길 수 있지만
아래 표를 보면 3번 마을에서 20개밖에 들지 못하기 때문에
2~5번 마을의 택배를 옮길 수 있는 양 중 최소값을 옮길 수 있어요.
그걸 또 빼줍니다.
이런식으로 빼지는 택배의 양을 다 더하면 끝입니둥~~~~
📚 새롭게 알게된 내용