์์ด๋์ด 1: ์ ๋ ฅ๋ฐ์ ํฐ ๋๋ถํฐ ๋นผ๋ด์ผ๊ฒ ๋ค!
#์๊ฐ์ด๊ณผ ์ฝ๋ ใ
ใ
a = list(map(int,input().split())) #
coin = []
sum = 0
for i in range(a[0]):
money = int(input())
coin.append(money)
coin.reverse()
for i in coin:
while a[1]>=i: #์
๋ ฅ๋ฐ์ b์์ด i๋ณด๋ค ํฌ๋ฉด?
a[1]=a[1]-i
sum+=1
print(sum)
๋จ์ํ๊ฒ ๊ฐ์ฅ ํฐ ๋์ ๋จ์๋ถํฐ ๊ณ์ํด์ ๋นผ๊ณ , ํ๋ฒ ๋น ์ง ๋๋ง๋ค sum์ 1์ฉ ๋ํ๋ ค๊ณ ํ๋๋ฐ, while ๋ฐ๋ณต๋ฌธ์ ๋๋ฉด์ ๊ต์ฅํ ์๊ฐ์ ์ผ๋ก ํจ์จ์ด ๋จ์ด์ง๋ ๊ฒ์ ์ ์ ์๋ค. ๋ฐ๋ผ์ ์ด๋ฐ ๋ฌธ์ ์์ ์ ์ฌ์ฉํ ์ ์๋ ๋ชซ์ ์ด์ฉํ ๋ฐฉ๋ฒ์ผ๋ก ์ฝ๋๋ฅผ ๋ค์ ๊ตฌํํ๋ค.
#์ฑ๊ณต!
a = list(map(int,input().split()))
coin = []
sum = 0
for i in range(a[0]):
money = int(input())
coin.append(money)
n = len(str(a[1])) #์ผ๋จ ์๋ฆฟ์๋ฅผ ๊ตฌํ๋ค.
coin.reverse() #ํฐ์์๋๋ก ์ ๋ ฌํ๊ณ
for i in coin: #๋ฆฌ์คํธ๋ฅผ ํ๋ฒ์ฉ ๋๋๋ฐ
if i<=a[1]: #๋ง์ฝ ๊ฐ์ฅ ํฐ ์
๋ ฅ์ด K์๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฉด?
sum = sum+ a[1]//i #K์์ ์ฝ์ธ์ผ๋ก ๋๋ ๋ชซ ๋งํผ sum์ ๋ํด์ฃผ๊ณ
a[1] = a[1] - i*(a[1]//i) #K์์์ ์ฝ์ธ๋งํผ ๋นผ์ค๋ค.
print(sum)
์ด๋ฒ ์ฝ๋๋ ์ ๋ ฅ๋ฐ์ K์์ด ๋ช์๋ฆฌ ์ซ์์ธ์ง ๊ตฌํ ํ, ์ ๋ ฅ๋ฐ์ ์๋จ์๋ฅผ ํฐ ์์๋๋ก ์ ๋ ฌ ํ ์ด๋ฅผ ์ด์ฉํด
for๋ฌธ์ ๋๊ณ ์๋ ์๋จ์๊ฐ ์ ๋ ฅ๋ฐ์ K์๋ณด๋ค ์๋ค๋ฉด K์์ ๋จ์๋ก ๋๋ ๋ชซ ๋งํผ sum์ ๋ํด์ฃผ๊ณ K์์ ๊ฐ์ ์ ๋ฐ์ดํธ ํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ค.
๊ฒฐ๊ณผ๋ ์ฑ๊ณต!
https://www.acmicpc.net/problem/11047
'๋ฐฑ์ค > ๊ทธ๋ฆฌ๋' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค (Baekjoon Online Judge) ๊ทธ๋ฆฌ๋ - 11399๋ฒ ATM (0) | 2022.01.12 |
---|---|
๋ฐฑ์ค (Baekjoon Online Judge) ๊ทธ๋ฆฌ๋ - 2839๋ฒ ์คํ ๋ฐฐ๋ฌ (0) | 2022.01.11 |