-문제 : https://www.acmicpc.net/problem/1092
-정답 풀이 :
가장 큰 무게를 들 수 있는 크레인디 들 수 없는 무게가 있다면 모든 박스를 배로 옮길 수 없기에 -1을 출력한다
그 외에는 가장 큰걸로 여러번 옮기나 여전히 옮길 수 있으므로 진행한다
크레인 단위로 가야하니까 크레인 단위로 boxes를 탐색한다.
탐색하다 조건(크레인의 무게보다 적은) 박스가 있을 때마다 그 박스를 없애준다
이전 풀이에 비하면 약 10배는 시간이 더 걸리지만, 일단 이게 제일 이해가 잘가서 다음 풀이로 기록한다.
n=int(input())
cranes=list(map(int,input().split()))
m=int(input())
boxes=list(map(int,input().split()))
cranes.sort(reverse=True)
boxes.sort(reverse=True)
if cranes[0]<boxes[0]:
print(-1)
else:
answer=0
while(len(boxes)>0):
answer+=1
for i in range(n):
for j in range(len(boxes)):
if cranes[i]>=boxes[j]:
del boxes[j]
break
print(answer)
'백준 > Greedy' 카테고리의 다른 글
[그리디/백준] 2828번: 사과 담기 게임 (0) | 2022.07.15 |
---|---|
[그리디/백준] 2012번: 등수 매기기 (0) | 2022.07.15 |
[그리디/백준] 9576번: 책 나눠주기 (0) | 2022.07.14 |
[그리디/백준] 12904번: A와 B (0) | 2022.07.13 |
[그리디/백준] 14659번: 한조서열 정리하고옴ㅋㅋ (0) | 2022.07.13 |