https://programmers.co.kr/learn/courses/30/lessons/12924
def solution(n):
i, j = 1, 2
sum = 1
result = 0
while i != j:
if sum < n:
sum += j
j += 1
else:
if sum == n:
result += 1
sum -= i
i += 1
return result
투포인터
1. i, j, sum, result = 1, 2, 1, 0 초기값 설정
2. while 문 (i != j)
- sum이 n보다 작으면, j를 더하고 j += 1
- 아니면, n일 경우 result += 1, i를 빼고 i += 1
3. result 반환
연속된 수를 이용하는 문제는 투포인터를 생각하자
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv2 - 최솟값 만들기 (파이썬) (0) | 2022.05.17 |
---|---|
[프로그래머스] Lv2 - 최댓값과 최솟값 (파이썬) (0) | 2022.05.17 |
[프로그래머스] Lv2 - 땅따먹기 (파이썬) (0) | 2022.05.14 |
[프로그래머스] Lv2 - 다음 큰 숫자 (파이썬) (0) | 2022.05.14 |
[프로그래머스] Lv2 - 올바른 괄호 (파이썬) (0) | 2022.05.14 |