https://school.programmers.co.kr/learn/courses/30/lessons/12924
숫자의 표현은 연속된 숫자로 이루어져야 한다.
따라서 현재 숫자인 j를 1씩 올려가며 n값에 해당하면 answer값을 늘린다.
이때 합이 n보다 크면 반복을 멈춰 최악의 경우를 벗어나게 하면 해결가능
#include <string>
#include <vector>
using namespace std;
int solution(int n) {
int answer = 0;
for(int i = 1;i <= n;i++){
int sum = 0;
for(int j = i;j <= n;j++){
sum += j;
if(sum > n) break;
if(sum == n)
answer++;
}
}
return answer;
}
'Programmers Review' 카테고리의 다른 글
[Lv 2] 줄 서는 방법 (0) | 2024.06.23 |
---|---|
[Lv 2] 멀리 뛰기 (0) | 2024.06.23 |
[Lv 2] 올바른 괄호 (0) | 2024.06.22 |
[Lv 2] 다음 큰 숫자 (0) | 2024.06.22 |
[Lv 2] 카카오프렌즈 컬러링북 (0) | 2024.06.16 |