https://www.acmicpc.net/problem/1092
1092번: 배
첫째 줄에 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 각 크레인의 무게 제한이 주어진다. 이 값은 1,000,000보다 작거나 같다. 셋째 줄에는 박스의 수 M이 주어진다. M은 10,000보
www.acmicpc.net
check 함수를 생성하여 내림차순 정렬된 box함수를 탐색
만약 crain[i]가 box의 최소값보다 적으면 crain 이후 값 모두 del 처리
box를 모두 탐색하기 전에 crain이 모두 del되면 -1 return
모두 탐색한다면 반복 횟수 answer return
def check():
answer = 0
while box:
for c in crain:
k = 0
while k < len(box):
if box[k] <= c:
del box[k]
break
else:
if c < box[-1]:
i = len(crain)-1
while crain[i] <= c:
i -= 1
crain.pop()
if not crain:
return -1
break
else:
k += 1
answer += 1
return answer
n = int(input())
crain = sorted(list(map(int,input().split())),reverse=True)
m = int(input())
box = sorted(list(map(int,input().split())),reverse=True)
print(check())
'백준(BOJ)' 카테고리의 다른 글
[Python/파이썬] - 백준(BOJ) 1781번 : 컵라면 (0) | 2022.05.28 |
---|---|
[Java/자바] - 백준(BOJ) 1068번 : 트리 (0) | 2022.05.26 |
[Python/파이썬] - 백준(BOJ) 8972번 : 미친 아두이노 (0) | 2022.05.20 |
[Python/파이썬] - 백준(BOJ) 2217번 : 로프 (0) | 2022.05.19 |
[Python/파이썬] - 백준(BOJ) 25046번 : 사각형 게임 (small) (0) | 2022.05.19 |