๐ ๋ฐฑ์ค 1712 - ์์ต๋ถ๊ธฐ์
๐ก ๋์ ํ์ด
์์ต ๋ถ๊ธฐ์ ์ ๋ํ ์ดํด๊ฐ ์์ด์ผ ์ด ๋ฌธ์ ๋ฅผ ํ ์ ์๋ค. ์ฒ์์ while
๋ฌธ์ ์ฌ์ฉํ์ฌ ํ์๋๋ฐ ๋ค์ ๋ณด๋๊น A
, B
, C
๊ฐ 21์ต ์ดํ์ ์์ฐ์๊ธฐ๋๋ฌธ์ ์๊ฐ์ด๊ณผ
ํ์ ์ด ๋ฌ๋ค.(๊ฒ๋ค๊ฐ ์๊ฐ์ ํ๋ ๋ฌด๋ ค 0.35
์ด ๋ฐ์ ์๋๋ค.) ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ์ง ์๊ณ ์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋จ์ ์ฌ์น์ฐ์ฐ
์ผํ
๋ฐ ๊ณต์์ด ์ ๋ ์ค๋ฅด์ง ์์๋ค. ใ
ใ
๊ตฌ๊ธ๋งํ๋ค ์ฝ๋ฉํ๋ ์์์ ๋ดค๋๋ฐ ์ดํด๊ฐ ์ ๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก ์์ต๋ถ๊ธฐ์ ์ ๊ณ ์ ๋น์ฉ + ๊ฐ๋ณ๋น์ฉ * n < ํ๋งค๋น์ฉ * n
๊ณผ ๊ฐ์ด ๋ํ ๋ผ ์ ์๋๋ฐ ๋ค์๊ณผ ๊ฐ์ด ์์ ์ ๋ฆฌ ํ ์ ์๋ค. (๊ณ ์ ๋น์ฉ์ a, ๊ฐ๋ณ๋น์ฉ์ b, ํ๋งค๋น์ฉ์ c๋ก ๊ฐ์ ํ๋ค.)
- a + (b * n) = (c * n)
- a = (c * n) - (b * n)
- a = (c - b) * n
- (a // (c - b)) = n
์ฌ๊ธฐ์ ์ด ์์
((a // (c - b))
)์ด ์ด ๋น์ฉ(n
)๋ณด๋ค ๋ง์์ง๋ ค๋ฉด ์ด ์์
+ 1
์ ํด์ค์ผ ์ด์ต์ด ์๊ธด๋ค. ์ฆ, (a // (c - b)) + 1
์ ์์ฑํ๋ฉด ๋๋๋ฐ ์ด๋, ์ฃผ์ํ ์ ์ c <= b
์ผ๋๋ ๊ฒฐ๊ด๊ฐ์ด ์์
ํน์ 0
์ด ๊ณ์ฐ๋๋ฏ๋ก ์ด๋๋ ์์ต๋ถ๊ธฐ์ ์์ฒด๊ฐ ์กด์ฌํ์ง ์๋๋ค. ๊ทธ๋์ ํ๋จ์ ์ฝ๋์ ๊ฐ์ ์กฐ๊ฑด์ ๋ถ์ฌ์ค์ผ ํ๋ค.
# ๋์ ์ฝ๋(์ฑ๊ณต)
a, b, c = map(int, input().split())
if c <= b:
print(-1)
else:
print((a // (c - b)) + 1)
# ๋์ ์๊ฐ ์ด๊ณผ ์ฝ๋(์คํจ)
a, b, c = map(int, input().split())
# ์ด ๋น์ฉ = ๊ณ ์ ๋น์ฉ + ๊ฐ๋ณ ๋น์ฉ
total_cost = a
# ์ด ์์
= ํ๋งค ๋น์ฉ
total_income = 0
cnt = 1
flag = True
while total_cost >= total_income:
total_cost += b
total_income += c
cnt += 1
'Algorithm > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 10833 - ์ฌ๊ณผ (0) | 2021.06.11 |
---|---|
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 2775 - ๋ถ๋ ํ์ฅ์ด ๋ ํ ์ผ (0) | 2021.06.10 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 2480 - ์ฃผ์ฌ์ ์ธ๊ฐ (0) | 2021.06.08 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 2010 - ํ๋ฌ๊ทธ (0) | 2021.06.08 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 1085 - ์ง์ฌ๊ฐํ์์ ํ์ถ (0) | 2021.06.08 |
๋๊ธ