[문제]

[풀이]
n = int(input())
start, end = 1, 1
cnt, sum_ = 0, 0
while start <= n:
if sum_ == n:
cnt += 1
sum_ -= start
start += 1
elif sum_ < n:
sum_ += end
end += 1
else:
sum_ -= start
start += 1
print(cnt)
- 반열린 구간으로 풀었음!
- end가 창 밖에 있으니까, end를 먼저 sum_에 더해주고, end를 늘려주기(순서 짱 중요함)
- 닫힌 구간일 때는 end먼저 1증가시키고 sum_에 합하기

[링크]
'CodingTest > Baekjoon' 카테고리의 다른 글
| [백준] 1806 부분합(python, 투포인터) (4) | 2025.08.10 |
|---|---|
| [백준] 10825 국영수(python, 정렬) (0) | 2025.08.08 |
| [백준] 10814 나이순 정렬(python, 정렬) (0) | 2025.08.08 |
| [백준] 11651 좌표 정렬하기2(python, 정렬) (0) | 2025.08.08 |
| [백준] 2941 크로아티아 알파벳(python, 구현) (0) | 2025.08.08 |