728x90
문제-https://www.acmicpc.net/problem/23351
23351번: 물 주기
첫째 줄에 자연수 $N$, $K$, $A$, $B$가 공백을 사이에 두고 주어진다. ($2 \le N \le 100$, $1 \le K \le 100$, $1 \le A \times B < N$, $A$는 $N$의 약수)
www.acmicpc.net
코드
N,K,A,B = map(int,input().split())
Pot=[K]*N
D=0
while(Pot[A]!=0):
D+=1
for i in range(N):
Pot[i]-=1
Pot = sorted(Pot)
for i in range(A):
Pot[i]+=B
print(D)
| Pot | 화분 수 |
| D | 지난 하루 수 |
-화분에 담긴 물(K)이 화분의 수(N)개의 리스트를 생성한다. 이후에는 D에 하루씩 더하고 모든 화문의 물을 1리터씩 뺀다.
-while문을 이용하여 0이 되었는지를 확인하는데, 이때 sorted를 이용하여 적은 물이 담긴 A개 만큼 B리터의 물을 주고 리스트에서 물을 못 받은 화분의 물의 잔량으로 확인한다.
-while문에서 벗어난 이후 지난 날을 출력한다.
결과
input:5 5 2 1
ouput:7
728x90
'백준 문제 > 파이썬' 카테고리의 다른 글
| 백준 2164 카드2(python)-[sliver(4)] (4) | 2023.10.19 |
|---|---|
| 백준 13413 오셀로 재배치(python)-[sliver(4)] (8) | 2023.10.18 |
| 백준 2164 카드2(python)-[sliver(4)] (2) | 2023.10.17 |
| 백준 10845 큐(python)-[sliver(4)] (5) | 2023.10.16 |
| [백준] 런타임 에러 (OverflowError) (2) | 2023.10.13 |