-
[๋ฐฑ์ค] 1789 ์๋ค์ ํฉ with PythonPS 2023. 4. 3. 16:26728x90๋ฐ์ํ
๐ BOJ 1789 ์๋ค์ ํฉ
๐ก ์กฐ๊ฑด
์๋ก ๋ค๋ฅธ N๊ฐ์ ์์ฐ์์ ํฉ์ด S๋ผ๊ณ ํ๋ค. S๋ฅผ ์ ๋, ์์ฐ์ N์ ์ต๋๊ฐ์ ์ผ๋ง์ผ๊น?
์ฒซ์งธ ์ค์ ์์ฐ์ S(1 โค S โค 4,294,967,295)๊ฐ ์ฃผ์ด์ง๋ค.
์ฒซ์งธ ์ค์ ์์ฐ์ N์ ์ต๋๊ฐ์ ์ถ๋ ฅํ๋ค.
์ํ, ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ์ ํ์ ๋ฌธ์
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์ 1
200
์คํ๊ฒฐ๊ณผ 1
19
โจ๏ธ ๋ฌธ์ ํ์ด
๊ณ์ฐํ๊ณ ์๋ ๊ณ์ฐ๊ฐ(A), ์ ๋ต(B), ๋ํ ์(C)๋ฅผ ๊ฐ๊ฐ ๋ณ์๋ก ๋ง๋ ๋ค.
while๋ฅผ ์ด์ฉํด ๋ฐ๋ณต์ ์ธ ๊ณ์ฐ์ ํ๋ค.
A += C ํ, C += 1, B += 1(2)๋ฒ์ ๋ฐ๋ณต๋ฌธ์ A๊ฐ ์ ๋ ฅ ๋ฐ์ S ๋ณด๋ค ์์๋๋ง ๋ฐ๋ณตํ๋ค.
while ์ ์กฐ๊ฑด์ ํด๋น๋์ง ์์ ๋ฐ๋ณต๋ฌธ์ด ์ข ๋ฃ๋์์ผ๋ฉด ์กฐ๊ฑด์ ๋ง๊ฒ ์ถ๋ ฅํ๋ค.
๋ง์ฝ A๊ฐ S์ ๊ฐ์ด ๊ฐ๋ค๋ฉด ans๋ฅผ, ๊ทธ๊ฒ ์๋๋ผ๋ฉด ans -1 ์ ์ถ๋ ฅํ๋ค.
๐ฅ ์์ค ์ฝ๋
from sys import stdin s = int(stdin.readline()) ans, res, num = 0, 0, 1 while res < s: res += num num += 1 ans += 1 print(ans if res == s else ans - 1)
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 3943 ํค์ผ์คํค์์ด with Python (0) 2023.04.04 [๋ฐฑ์ค] 1652 ๋์ธ ์๋ฆฌ๋ฅผ ์ฐพ์๋ผ with Python (0) 2023.04.03 [๋ฐฑ์ค] 10419 ์ง๊ฐ with Python (0) 2023.04.03 [๋ฐฑ์ค] 5692 ํฉํ ๋ฆฌ์ผ ์ง๋ฒ with Python (0) 2023.04.03 [๋ฐฑ์ค] 5988 ํ์์ผ๊น ์ง์์ผ๊น with Python (0) 2023.04.03