์ซ์์ ํํ (1) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [ํ๋ก๊ทธ๋๋จธ์ค] ์ซ์์ ํํ ๋ด ์ฝ๋ def solution(n): answer = s = 0 last = n for i in range(n,-1,-1): if s > n: s-=last last-=1 if s==n: answer+=1 s+=i return answer ์ฐ์๋ ์ซ์ ํฉ์ด n์ด ๋๋ ๊ฐฏ์๋ฅผ ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ๋ด ์ฝ๋๋ i๊ฐ 15,14,13,12,11...0 ์ด๋ ๊ฒ ๋ฐ๋ณต๋๋ค. 15๋ n๊ณผ ๊ฐ์ผ๋ฏ๋ก answer์ 1 ๋ํด์ค๋ค. 15+14๋ 15๋ณด๋ค ํฌ๋ฏ๋ก ๊ฐ์ฅ ํฐ ์ซ์(last)๋ฅผ ๋นผ์ค๋ค. ๊ทธ๋ค์ 14+13์ ๊ณ์ฐํด๋ 15๋ณด๋ค ํฌ๋ฏ๋ก 14๋ฅผ ๋นผ์ค๋ค. ์ด๋ ๊ฒ ๋ฐ๋ณตํ๋ค๋ณด๋ฉด 8+7์ผ๋๊ฐ ์จ๋ค. ์ด๋๋ 15์ ๊ฐ์ผ๋ answer์ ๋ํด์ค๋ค. 8+7+6 ์ 15 ๋ณด๋ค ํฌ๋ฏ๋ก 7+6+5๋ฅผ ๊ตฌํ๋ค. ์ด๋ ๊ฒ ๊ฐ๋ค๋ณด๋ฉด 6+5+4 ๊ฐ ๊ฑธ๋ฆฌ๊ฒ.. ์ด์ 1 ๋ค์