https://www.acmicpc.net/problem/1789
๐ ๋ฌธ์
์๋ก ๋ค๋ฅธ N๊ฐ์ ์์ฐ์์ ํฉ์ด S๋ผ๊ณ ํ๋ค. S๋ฅผ ์ ๋, ์์ฐ์ N์ ์ต๋๊ฐ์ ์ผ๋ง์ผ๊น?
๐ ์ ๋ ฅ
์ฒซ์งธ ์ค์ ์์ฐ์ S(1 ≤ S ≤ 4,294,967,295)๊ฐ ์ฃผ์ด์ง๋ค.
๐ ์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์์ฐ์ N์ ์ต๋๊ฐ์ ์ถ๋ ฅํ๋ค.
๐ ํ์ด ๋ฐฉ์
์๋ก ๋ค๋ฅธ ์์ฐ์์ ํฉ์ ๊ตฌํ๊ธฐ ์ํด์๋ 1๋ถํฐ ์๋ฅผ ํ๋์ฉ ์ฆ๊ฐ์์ผ๊ฐ๋ฉด์ S๊ฐ ๋ ๋๊น์ง ๋ํด์ฃผ๊ณ , ๋ช ๊ฐ์ ์๋ฅผ ๋ํ๋์ง๋ฅผ ์ถ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
S = 200 ์ธ ๊ฒฝ์ฐ 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 10 (์ค๋ณต ์) ์์ผ๋ก ์ด 19๊ฐ๊ฐ ๋๋ค
๐ ์ฝ๋
s = int(input())
n = 0
total = 0
while s >= total:
n += 1
total += n
print(n - 1)
๋ง์ง๋ง ๊ฐ์ด ์ค๋ณต๊ฐ์ธ ๊ฒฝ์ฐ๋ฅผ ํ๋จํ๊ธฐ ์ํด์ s ๊ฐ total ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๊ฒฝ์ฐ๊น์ง ๋ฐ๋ณต๋ฌธ์ ๋๋ ค์ฃผ๊ณ ๊ฒฐ๊ณผ๊ฐ์์ -1 ์ ํด์ ์ถ๋ ฅํฉ๋๋ค
๊ฒฐ๊ณผ๊ฐ์์ n - 1 ์ ์ถ๋ ฅํ๋ ์ด์ ๋ ์ค๋ณต๊ฐ์ ํ์ธํ๊ธฐ ์ํฉ์ ๋๋ค
์ด ๋๊ฐ์ง์ ๊ฒฝ์ฐ๊ฐ ์๋ค๊ณ ์๊ฐํด์ฃผ์๋ฉด ๋๋๋ฐ์.
1๏ธโฃ ๋ง์ง๋ง ๊ฐ์ด ์ค๋ณต๊ฐ์ธ ๊ฒฝ์ฐ
์ต๋๊ฐ๊น์ง ๋ํด๋ s ๊ฐ ์๋๋ค๊ฐ ์ต๋๊ฐ + 1 ์ ๋ํ๋ ์๊ฐ s ๊ฐ ๋์ต๋๋ค.
์ด๋ ์ต๋๊ฐ + 1 ์ ์ค๋ณต์์ด๊ธฐ ๋๋ฌธ์ n - 1 ์ ์ถ๋ ฅํด์ค๋๋ค.
2๏ธโฃ ๋ง์ง๋ง ๊ฐ์ด ์ค๋ณต๊ฐ์ด ์๋ ๊ฒฝ์ฐ
์ต๋๊ฐ๊น์ง ๋ํ๋ฉด s ๋ ๊ฐ์ ๊ฐ์ด ๋๋๋ฐ, 1๋ฒ์ ๊ฒฝ์ฐ๋ฅผ ๊ฑธ๋ฌ๋ด์ผ ํ๋ฏ๋ก ์ต๋๊ฐ + 1 ๊น์ง ๋ํ๊ณ n -1 ์ ์ถ๋ ฅํฉ๋๋ค.
'๐ฉ๐ปโ๐ป ์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 15904๋ฒ UCPC๋ ๋ฌด์์ ์ฝ์์ผ๊น ? (Python) (0) | 2024.08.06 |
---|---|
[๋ฐฑ์ค] 1202๋ฒ ๋ณด์ ๋๋ (Python) (0) | 2024.08.01 |
[๋ฐฑ์ค] 1439๋ฒ ๋ค์ง๊ธฐ (Python) (0) | 2024.07.25 |
[๋ฐฑ์ค] 1715๋ฒ ์นด๋ ์ ๋ ฌํ๊ธฐ (Python) (2) | 2024.07.24 |
[๋ฐฑ์ค] 1213๋ฒ ํฐ๋ฆฐ๋๋กฌ ๋ง๋ค๊ธฐ (Python) (1) | 2024.07.22 |