๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm/๋ฐฑ์ค€(BOJ)

[ ํŒŒ์ด์ฌ(python) ] ๋ฐฑ์ค€ 1712 - ์†์ต๋ถ„๊ธฐ์ 

by YWTechIT 2021. 6. 9.
728x90

๐Ÿ“ ๋ฐฑ์ค€ 1712 - ์†์ต๋ถ„๊ธฐ์ 

๋ฐฑ์ค€ 1712 - ์†์ต๋ถ„๊ธฐ์ 


๐Ÿ’ก ๋‚˜์˜ ํ’€์ด

์†์ต ๋ถ„๊ธฐ์ ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์žˆ์–ด์•ผ ์ด ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์žˆ๋‹ค. ์ฒ˜์Œ์— while๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ’€์—ˆ๋Š”๋ฐ ๋‹ค์‹œ ๋ณด๋‹ˆ๊นŒ A, B, C๊ฐ€ 21์–ต ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜๊ธฐ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์ดˆ๊ณผํŒ์ •์ด ๋‚ฌ๋‹ค.(๊ฒŒ๋‹ค๊ฐ€ ์‹œ๊ฐ„์ œํ•œ๋„ ๋ฌด๋ ค 0.35์ดˆ ๋ฐ–์— ์•ˆ๋œ๋‹ค.) ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ์„œ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹จ์ˆœ ์‚ฌ์น™์—ฐ์‚ฐ์ผํ…๋ฐ ๊ณต์‹์ด ์ž˜ ๋– ์˜ค๋ฅด์ง€ ์•Š์•˜๋‹ค. ใ… ใ…  ๊ตฌ๊ธ€๋งํ•˜๋‹ค ์ฝ”๋”ฉํŽœ๋‹˜ ์˜์ƒ์„ ๋ดค๋Š”๋ฐ ์ดํ•ด๊ฐ€ ์ž˜ ๋๋‹ค.

 

๊ฒฐ๋ก ์ ์œผ๋กœ ์†์ต๋ถ„๊ธฐ์ ์€ ๊ณ ์ •๋น„์šฉ + ๊ฐ€๋ณ€๋น„์šฉ * n < ํŒ๋งค๋น„์šฉ * n ๊ณผ ๊ฐ™์ด ๋‚˜ํƒ€ ๋‚ผ ์ˆ˜ ์žˆ๋Š”๋ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹์„ ์ •๋ฆฌ ํ•  ์ˆ˜ ์žˆ๋‹ค. (๊ณ ์ •๋น„์šฉ์€ a, ๊ฐ€๋ณ€๋น„์šฉ์€ b, ํŒ๋งค๋น„์šฉ์€ c๋กœ ๊ฐ€์ •ํ–ˆ๋‹ค.)

 

  1. a + (b * n) = (c * n)
  2. a = (c * n) - (b * n)
  3. a = (c - b) * n
  4. (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
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€