๐๋ฌธ์ ๋งํฌ: https://www.acmicpc.net/problem/1789
๐ผ์๋ก
์์ฆ ์ด์ฌํ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ํ๊ณ ์๋ค. ๐คธโ๏ธ
๊ทธ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ๋ฐ๊ฒฌํ๋ฉด ๋ญ๊ฐ ๋ฌํ ์พ๊ฐ์ด ์๋ค.
๐งฉ๋ฌธ์ ํด์
์๋ก ๋ค๋ฅธ ์์ฐ์ N์ ๋ํ ๊ฐ์ธ S๊ฐ ์ฃผ์ด์ก์ ๋ N์ ์ต๋๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ !
๐ํ์ด
1. N์ ๊ฐฏ์๋ฅผ ์ต๋๋ก ๋ง๋๋ ค๋ฉด N์ 1๋ถํฐ ์์ํด N์ ๊ฐ์ +1 ์ฉ ์ฆ๊ฐํ์ฌ S๋ฅผ ๋ง๋ค๋ฉด ๊ทธ๊ฒ์ด N์ ์ต๋๊ฐฏ์๋ก ๋ง๋๋ ๊ฒ์ด๋ค.
์์ ๋ฅผ ์ดํด๋ณด์!
200์ 1+2+3+4+...+18+29 ์ด 19๊ฐ์ด๋ค.
1๋ถํฐ 18๊น์ง๋ N์ด ํ๋์ฉ ์ฆ๊ฐํ์์ง๋ง ๋ง์ง๋ง ๊ฐ์ 1์ฆ๊ฐํ ๊ฐ์ด ์๋์๋ค. ์ด ๋ง์ง๋ง ์ ํ๋จ์ "์๋ก ๋ค๋ฅธ ์์ฐ์ N"์ด๋ผ๋ ๋ฌธ์ฅ์ ํค๊ฐ ์๋ค.
1๋ถํฐ 18๊น์ง ๋ํ ๊ฐ์ 171์ด๋ค. ์ฌ๊ธฐ์ ๊ทธ๋ฅ ์งํํ๋๋๋ก 19๋ฅผ ๋ํด๋ฒ๋ฆฌ๋ฉด 190์ด ๋๋ค. 190์ด 200์ด ๋๋ ค๋ฉด +10์ด ๋์ด์ผ ํ์ง๋ง 10์ ์ด๋ฏธ ์์ ์ฌ์ฉํ์๊ธฐ์ ๋ค์ ์ฌ์ฉํ ์ ์๋ค. ์ฆ ๊ทธ๋์ 19๋ฅผ ๋ํ์ง ์๊ณ ๋ฐ๋ก ๋จ์ ๊ฐ๋ค์ ๋ํ์๋ค.
200์์ 1๋ถํฐ ์ฐจ๊ฐํ ๊ฐ:
n n i
200 = 200 - 0
199 = 200 - 1
197 = 199 - 2
194 = 197 - 3
190 = 194 - 4
.
.
.
29 = 47 - 18
10 = 29 - 19
-10 = 10 - 20(?)
๋ฌธ์ ๊ฐ ๋๋ ๋ถ๋ถ์ ์ ์ดํด๋ณด๋ฉด i๊ฐ n๋ณด๋ค ํด๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์๋ค!
์ฆ i๊ฐ n๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์๋๊น์ง n = n-i๋ฅผ ์ํํ๋ฉด ๋๋ค!
๐ป์ฝ๋
n = int(input())
i = 0
cnt = 0
while True:
if n > i: # n์ด i๋ณด๋ค ํฌ๋ฉด n์ i๋ฅผ ์ฐจ๊ฐ
i += 1
n = n-i
cnt += 1
else:
print(cnt)
break
'Problem Solving > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 13305๋ฒ: ์ฃผ์ ์ - ํ์ด์ฌ (0) | 2022.04.30 |
---|---|
[๋ฐฑ์ค] 4375๋ฒ: 1 - ํ์ด์ฌ (0) | 2022.04.28 |
[๋ฐฑ์ค] 1673๋ฒ: ๐์นํจ ์ฟ ํฐ๐ - ํ์ด์ฌ (2) | 2022.04.26 |
[๋ฐฑ์ค] 1907๋ฒ: ํ์ ํํฉ๋ฌผ (0) | 2022.04.25 |
[๋ฐฑ์ค] 11729๋ฒ: ํ๋ ธ์ด ํ ์ด๋ ์์ (0) | 2022.04.25 |