문제
https://school.programmers.co.kr/learn/courses/30/lessons/12924
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
투포인터를 이용하여 연속되는 숫자의 합을 구했다
다른 분들 풀이를 보니 그냥 이중 for문을 이용하여 푸신것 같다
코드
class Solution {
public int solution(int n) {
int answer = 0;
int left = 0;
int right = 1;
int sum = 1;
while(right <=n && left <= n){
if(sum == n) {
answer += 1;
}
if(sum <= n){
right += 1;
sum += right;
}
else{
left += 1;
sum -= left;
}
}
return answer;
}
}