๐น Programming/๐ Algorithm
[๋ฐฑ์ค ๋ฌธ์ ํ์ด / Python] 1712๋ฒ : ์์ต๋ถ๊ธฐ์
๋๋์ธ
2022. 5. 18. 21:38
# 1712 : ์์ต๋ถ๊ธฐ์
์๋์ ์๋ ๋ ธํธ๋ถ์ ์ ์กฐํ๊ณ ํ๋งคํ๋ ํ์ฌ์ด๋ค. ๋ ธํธ๋ถ ํ๋งค ๋์์ ์๊ด์์ด ๋งค๋ ์๋๋ฃ, ์ฌ์ฐ์ธ, ๋ณดํ๋ฃ, ๊ธ์ฌ ๋ฑ A๋ง์์ ๊ณ ์ ๋น์ฉ์ด ๋ค๋ฉฐ, ํ ๋์ ๋ ธํธ๋ถ์ ์์ฐํ๋ ๋ฐ์๋ ์ฌ๋ฃ๋น์ ์ธ๊ฑด๋น ๋ฑ ์ด B๋ง์์ ๊ฐ๋ณ ๋น์ฉ์ด ๋ ๋ค๊ณ ํ๋ค.
์๋ฅผ ๋ค์ด A=1,000, B=70์ด๋ผ๊ณ ํ์. ์ด ๊ฒฝ์ฐ ๋ ธํธ๋ถ์ ํ ๋ ์์ฐํ๋ ๋ฐ๋ ์ด 1,070๋ง์์ด ๋ค๋ฉฐ, ์ด ๋ ์์ฐํ๋ ๋ฐ๋ ์ด 1,700๋ง์์ด ๋ ๋ค.
๋ ธํธ๋ถ ๊ฐ๊ฒฉ์ด C๋ง์์ผ๋ก ์ฑ ์ ๋์๋ค๊ณ ํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ์์ฐ ๋์๋ฅผ ๋๋ ค ๊ฐ๋ค ๋ณด๋ฉด ์ด๋ ์๊ฐ ์ด ์์ (ํ๋งค๋น์ฉ)์ด ์ด ๋น์ฉ(=๊ณ ์ ๋น์ฉ+๊ฐ๋ณ๋น์ฉ)๋ณด๋ค ๋ง์์ง๊ฒ ๋๋ค. ์ต์ด๋ก ์ด ์์ ์ด ์ด ๋น์ฉ๋ณด๋ค ๋ง์์ ธ ์ด์ต์ด ๋ฐ์ํ๋ ์ง์ ์ ์์ต๋ถ๊ธฐ์ (BREAK-EVEN POINT)์ด๋ผ๊ณ ํ๋ค.
A, B, C๊ฐ ์ฃผ์ด์ก์ ๋, ์์ต๋ถ๊ธฐ์ ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๐งช How to approach
- ๊ณ ์ ๋น์ฉ, ๊ฐ๋ณ๋น์ฉ, ํ๋งค๋น์ฉ์ ์์๋๋ก ๋ณ์ A, B, C์ ์ ๋ ฅ ๋ฐ๋๋ค.
- if ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํ์ฌ ๊ฐ๋ณ๋น์ฉ(B)์ด ํ๋งค๋น์ฉ(C) ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ๊ฒฝ์ฐ์๋ ์์ต๋ถ๊ธฐ์ ์ด ๋ฐ์ํ์ง ์์ผ๋ฏ๋ก -1์ ์ถ๋ ฅํ๋๋ก ํ๋ค.
- else ์กฐ๊ฑด๋ฌธ์ ๊ณ ์ ๋น์ฉ(A)์ ํ๋งค๋น์ฉ(C) - ๊ฐ๋ณ๋น์ฉ(B) ๊ฐ์ผ๋ก ๋๋์ด ์ค ๋ค ๋ชซ๋ง ์ทจํ๊ณ , ๊ทธ ๊ฐ์ 1์ ๋ํ์ฌ ์ถ๋ ฅํ๋๋ก ํ๋ค.
# 1712 : ์์ต๋ถ๊ธฐ์
A,B,C = map(int, input().split())
if B >= C :
print(-1)
else:
print(A//(C-B)+1)
๐ป Learning Points
- ์์ต๋ถ๊ธฐ์ ์ ๊ตฌํ๋ A//(C-B)+1 ํด๋น ์์์ //๋ ์์ฐ ๋์๋ฅผ ๊ตฌํ๊ธฐ ์ํด ๋ชซ๋ง์ ์ทจํ๋ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ค. ๋ํ ์ด์ต์ ์ฐฝ์ถํ๋ ๊ฐ์ ํ์๋ก ํ๋ฏ๋ก ํฌ์ ๋น์ฉ ํ์ ํ, ์ต์ด๋ก ์ด์ต์ด ๋ฐ์ํ๋ ๋์๋ฅผ ์ํด 1์ ๋ํด์ค๋ค.
- ํ์ด์ฌ์ ์ฌ์น์ฐ์ฐ์ ์ํ 7๊ฐ์ง ์ฐ์ฐ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
์ฐ์ฐ์ | ๋ด์ฉ |
+ | ๋ง์ |
- | ๋บ์ |
* | ๊ณฑํ๊ธฐ |
** | ๊ฑฐ๋ญ ์ ๊ณฑ |
/ | ๋๋๊ธฐ |
// | ๋๋๊ธฐ ์ฐ์ฐ ํ ๋ชซ์ ๋ถ๋ถ๋ง์ ๊ตฌํจ |
% | ๋๋๊ธฐ ์ฐ์ฐ ํ ๋ชซ์ด ์๋ ๋๋จธ์ง๋ฅผ ๊ตฌํจ |