Koala - 11기/코딩테스트 준비 스터디
[백준/python] 11256번 사탕
알 수 없는 사용자
2023. 9. 4. 04:54
문제
https://www.acmicpc.net/problem/11256
11256번: 사탕
당신은 사탕 공장의 주인이다. 날마다, 당신은 J개의 사탕을 가게에 보내기 위해 상자에 포장해야 한다. 당신은 크기가 다른 상자 N개를 가지고 있다. 당신은 편리를 위해 상자를 최소한으로 쓰
www.acmicpc.net
풀이
1. 상자의 세로 길이와 상자의 가로 길이를 입력받음 -> 각각 a와 b에 할당
2. a * b를 data 리스트에 추가 -> 내림차순으로 정렬(상자의 개수를 최소한으로 구해야하기에)
3. 반복문 통해 data 리스트의 값 하나씩 확인 -> 사탕의 개수 - 현재 확인하고 있는 상자의 크기 -> result 1증가시킴
4. 만약 사탕의 개수가 0이하일 경우 더 이상 상자에 넣을 사탕이 없으므로 반복문을 종료
5. result 값 출력
소스코드
t = int(input())
for _ in range(t) :
j, n = map(int, input().split())
data = []
for _ in range(n) :
a, b = map(int, input().split())
data.append(a*b)
data.sort(reverse=True)
result = 0
for i in range(len(data)) :
j -= data[i]
result += 1
if j <= 0 :
break
print(result)