[Programmers] [์ฐ์ต๋ฌธ์ ] [Python] Level2_์ซ์์ ํํ
๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/12924
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
ํ์ด
# ํ๋ก๊ทธ๋๋จธ์ค 2๋จ๊ณ - ์ซ์์ ํํ
def solution(n):
answer = 0
for i in range(1, n+1):
sum = 0
for j in range(i, n+1):
sum += j
if sum == n:
answer += 1
break
elif sum > n :
break
return answer
2์ค for๋ฌธ์ ํตํด์ ์ฒซ๋ฒ์งธ for๋ฌธ์์๋ 1๋ถํฐ ์์ํ์ฌ n๊น์ง for๋ฌธ์ด ๋๊ฒ ๋๊ณ ๋๋ฒ์งธ ์๋ for๋ฌธ์์๋ i๋ถํฐ n๊น์ง ๋๊ฒ ๋๋ค. ๋๋ฒ์งธ for๋ฌธ ์์์ sum ์ด n๊ณผ ๊ฐ๋ค๋ฉด sum = n ์ ๋ง์กฑํ๋ ๊ฐฏ์๋ฅผ ํ๋ ๋ํด์ฃผ๊ณ sum์ด n๋ณด๋ค ํฌ๋ค๋ฉด ๊ทธ ์ซ์๋ ๋์ด์ sum = n์ ๋ง์กฑํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ฒ์จฐ์ ์๋ for๋ฌธ์ ํ์ถํ๋๋ก ๊ตฌํํ์๋ค.
1. 1+2+3+4+5 = 15 (o)
2. 2+3+4+5+6 > 15 (x)
3. 3+4+5+6 > 15 (x)
4. 4+5+6 = 15 (o)
5. 5+6+7 > 15 (x)
.
.
.
๋ค๋ฅธ์ฌ๋์ ํ์ด
๋์ ํ์ด์๋ ๋ฌ๋ฆฌ ์๊ฐ๋ ํจ์ฌ ๋น ๋ฅธ ์ฝ๋์ด๊ณ ์ด๋ฌํ ์ํ์ ์ ๊ทผ์ ํตํด ๊ณต์์ ์ป์ด๋ด๊ณ ๋ ์ฌ์ด ๋ฐฉ๋ฒ์ด ์์์ง๋ง ์๊ฐํ์ง ๋ชปํ์๋ค. ๋ณด๊ณ ๋๋ฉด ์์ง๋ง ๋ณด๊ธฐ ์ ์๋ ๊ธฐ์ต๋ ์๋๋๊ฒ ์ฝ๋ฉํ ์คํธ์ธ ๊ฒ ๊ฐ๋ค.. ์กฐ๊ธ ๋ ๋ฌธ์ ๋ฅผ ํ๋ ์๊ฐ ๋ณต์ก๋๋ฅผ ์๊ฐํ๊ณ ์ฌ๋ฌ๋ฐฉ๋ฉด์ผ๋ก ์ ๊ทผ์ ํด๋ด์ผ ๊ฒ ๋ค.