[백준][Python] 30802. 웰컴 키트
Bronze Ⅲ 🔗30802. 웰컴 키트
📝문제 요약
문제 설명
입력
첫 줄에 참가자의 수 N$N$이 주어집니다. $(1 \le N \le 10^9)$
둘째 줄에 티셔츠 사이즈별 신청자의 수 $S, M, L, XL, XXL, XXXL$이 공백으로 구분되어 주어집니다. $(0 \le S, M, L, XL, XXL, XXXL \le N;$ $S + M + L + XL + XXL + XXXL = N)$
셋째 줄에 정수 티셔츠와 펜의 묶음 수를 의미하는 정수 T$T$와 P$P$가 공백으로 구분되어 주어집니다. (2≤T,P≤109)$(2 \le T, P \le 10^9)$
출력
첫 줄에 티셔츠를 T$T$장씩 최소 몇 묶음 주문해야 하는지 출력하세요.
다음 줄에 펜을 P$P$자루씩 최대 몇 묶음 주문할 수 있는지와, 그 때 펜을 한 자루씩 몇 개 주문하는지 구하세요.
✏️문제 풀이
< 티셔츠의 묶음 개수 >
- 티셔츠 묶음 개수를 저장할 변수
t_n
을 선언 - for문을 사용하여 사이즈의 개수인 6번 만큼 돌려주었다.
if size[i] % t == 0:
> 필요한 개수를 t로 나눈 나머지가 0개라면size[i]/t
> 필요한 개수를 t로 나눈 몫만큼 더하여준다.
else :
위의 조건이 아니면size[i]/t
에 +1을 한 값을 더하여 준다. > 남는건 가능하다고 했으니..!
<펜의 묶음 수, 개수>
- 참가자수에서 펜의 개수를 나누면(
n/p
) 펜의 묶음 수! - 이제 남음 펜의 수는 펜의 개수를 나눈 후의 나머지(
n%p
)로 구하면 된다!
💯제출 코드
n = int(input())
size = list(map(int, input().split()))
t, p = map(int, input().split())
t_n = 0
for i in range(6) :
if size[i] % t == 0:
t_n += int(size[i]/t)
else :
t_n += (int(size[i]/t)+1)
print(t_n)
p_n = [int(n/p), n%p]
print(*p_n)
댓글남기기