목차
1. 문제
https://www.acmicpc.net/problem/1092
2. 핵심 아이디어
2-1) 가장 강력한 크레인이 가장 무거운 것을 들 수록 좋음
가벼운 짐들은 어느 크레인이나 들 수 있다.
그러나 짐이 무거워질수록 들 수 있는 크레인의 개수는 줄어든다.
따라서 가장 강력한 크레인(무게 제한이 가장 높은 크레인)이
무거운 짐들부터 도맡아 처리하는 것이 좋다는 생각으로 이어져야 한다.
2-2) 들 수 없는 경우
만약 가장 강력한 크레인의 무게제한보다
무거운 짐이 있다면 짐을 옮기지 못한다.
3. 코드
# n 크레인
# m 박스의 수
# 1분에 한개씩 옮김
# 박스로 옮기는데 드는 시간의 최솟값
#크레인과 박스를 무거운 순대로 체크
n= int(input())
crane=list(map(int, input().split()))
m= int(input())
box=list(map(int, input().split()))
#박스와 크레인 모두 무거운것보다
box.sort(reverse=True)
crane.sort(reverse=True)
if max(box)> max(crane):
print(-1)
else:
sec=0
while(box):
for max_weight in(crane):
for box_weight in box:
#이 크레인이 들 수 있다면 -> 짐 목록에서 제거
if box_weight<=max_weight:
box.remove(box_weight)
break
sec+=1
print(sec)
4.배운 점
정렬 기준이 머릿속으로 그려졋는데도 불구하고
그려진 코드를 구현하는데 시간이 오래 걸렸다.
꾸준한 노력으로 피지컬을 늘릴 필요성을 느낀다.
'백준 문풀' 카테고리의 다른 글
[Python] 연구소1-3 / 완전탐색 - BFS와 조합 (0) | 2023.09.05 |
---|---|
[Python] 이분탐색- 19592. 장난감경주(실5)/Parametric search (0) | 2023.09.01 |
[Python] 정렬 - 5052. 전화번호 목록(골4) / 관련성 순 정렬 (0) | 2023.08.30 |
[Python] 정렬 - 1374.강의실(골5) /heapq를 이용한 시간초과 극복 (0) | 2023.08.29 |
[Python] DFS/BFS - 2636. 치즈(골4) / 경계면 탐색 (0) | 2023.08.26 |