-
[๋ฐฑ์ค] 17521 Byte Coin with PythonPS 2021. 9. 12. 22:49728x90๋ฐ์ํ
๐ BOJ 17521 Byte Coin
๐ก ์กฐ๊ฑด ๋ฐ ํ์ด
- ์ฃผ์ ์์ฅ์์ ๋จํ๋ฅผ ์น๋ ๊ตญ์ ์๋ณธ ๋ถ๋์ฐ ํ์ฌ๋ฅผ ๋์ ์ต๊ณ ์ ์์ต์ ๋ด๋ ๋ฌธ์ .
- ์ผ ์๋ฅผ ๋ํ๋ด๋
1 <= n <= 15
- ์ด๊ธฐ ํ๊ธ์ ๋ํ๋ด๋
W
- ๋ค์
n
๊ฐ์ ์ค์์,i๋ฒ์งธ ์ค์ i์ผ์ ๋ฐ์ดํธ ์ฝ์ธ ๊ฐ๊ฒฉ
์ ๋ํ๋ด๋ ์ ์si
๊ฐ ์ฃผ์ด์ง๋ค(1 โค si โค 50)
. - ๋จ์ ๊ตฌํ, ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์
๐ฅ ์์ค ์ฝ๋
from sys import stdin n, w = map(int, stdin.readline().split()) arr = [] for _ in range(n): arr.append(int(stdin.readline())) m = False coin = 0 for i in range(n - 1): if not m and arr[i] < arr[i + 1]: m = arr[i] coin = w // m w -= coin * m elif m and arr[i] > arr[i + 1]: w += arr[i] * coin coin, m = 0, False if m: w += coin * arr[-1] print(w)
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์
10 24 5 7 5 4 2 7 8 5 3 4
์คํ๊ฒฐ๊ณผ
170
โจ๏ธ ๋ฌธ์ ํ์ด
- ํ์ฌ ๋งค์ํ ์ฝ์ธ์ด ์๋์ง์ ์ํ๋ฅผ ์ฒดํฌํ ์ ์๋ ๋ณ์
"m" (๊ธฐ๋ณธ๊ฐ์ False)
์ฝ์ธ์ ๋ช๊ฐ ์๋์ง์ ๋ํ ์ ๋ณด๋ฅผ ๋ฃ์ด์ค ๋ณ์"coin"
- ์ฝ์ธ์ด ๋ค์ ๋ ์ ๊ฐ๊ฒฉ์ด ์์นํ๊ฑฐ๋ ๋ณ๋์ด ์๋ค?
์ด๋ฏธ ๋งค์ํ ๊ฒฝ์ฐ,pass
๋งค์ํ์ง ์์ ๊ฒฝ์ฐ,๊ตฌ๋งค
- ์ฝ์ธ์ด ๋ค์ ๋ ์ ๊ฐ๊ฒฉ์ด ๋จ์ด์ง๋ค?
ํ๋งค
- ์ต์ข ์ ์ผ๋ก ๋จ์ ์๋ ํ๊ธ์ ์ถ๋ ฅ
๐พ ๋๋์
- ๋จ์ ๊ตฌํ ๋ฐ ๊ทธ๋ฆฌ๋ ๋ฌธ์ ์์ต๋๋ค.
- ์ฝ์ธ์ ์๋์ง ์์๋์ง์ ๋ํ ๋ณ์๋ฅผ ์ถ๊ฐํ์ฌ ์ฝ๊ฒ ํ ์ ์์์ต๋๋ค.
- ์ค์ ์ฝ์ธ ์์ฅ์ด๋ ์ํ์ฒ๋ผ x% ์์ต๋ฅ ๊ณ์ฐํ๋ค๊ฐ ํฐ ์ฝ ๋ค์น ๋ปํ์ต๋๋ค.
- ๋ฌธ์ ๋ฅผ ๋ ํ์คํ ์ฝ๊ณ ์์ถํ๋ ๋ฅ๋ ฅ์ ํค์์ผ๊ฒ ์ต๋๋ค.
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 13305 ์ฃผ์ ์ with Python (0) 2021.09.22 [๋ฐฑ์ค] 9934 ์์ ์ด์ง ํธ๋ฆฌ with Python (0) 2021.09.12 [๋ฐฑ์ค] 16507 ์ด๋์ด ๊ฑด ๋ฌด์์ with Python (0) 2021.09.12 [Programmers] ๋ฌธ์์ด ์์ถ with Python (0) 2021.09.12 [๋ฐฑ์ค] 2458 ํค ์์ with Python (Feat. PyPy3) (0) 2021.09.02