반응형
문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
설명
수학적 지식으로 푼 분들도 계셨다.
나는 백준 2003번 수들의 합 2 문제처럼 투포인터 방식을 응용해서 풀었다.
코드
function solution(n) {
let sum = 0;
let answer = 0;
let left = 1;
for (let right = 1; right <= n; right++) {
sum += right;
if (sum === n) answer++;
if (sum > n) {
while (sum > n) {
sum -= left;
left++;
if (sum === n) answer++;
}
}
}
return answer;
}