쌓고 쌓다
[프로그래머스] 숫자의 표현 C++ 풀이 본문
https://school.programmers.co.kr/learn/courses/30/lessons/12924
전체 코드
#include <string>
#include <vector>
#include <iostream>
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)
{
answer++;
break;
}
else if(sum>n)
break;
}
}
return answer;
}
연속적으로 수를 sum에 더해서 n이 만들어질때까지 반복합니다.
만약 연속적으로 더할때 n을 넘어가면 n을 만들기가 불가능한거니 break 해줍니다.
연속적으로 수를 더하다 sum==n이 되면 만들기가 가능하므로 answer을 더해주고 break합니다.
첫번째 for문 i는
1부터 n까지 연속적인 수를 더할때 스타트를 끊는 수입니다.
두번째 for문 j는
sum에 더해질 연속적인 수입니다.
i가 3이라면 j는 3 + 4 + 5 + 6 ... 더해지겠죠
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 다음 큰 숫자 C++ 풀이 (0) | 2022.10.06 |
---|---|
[프로그래머스] 피보나치 수 C++ 풀이 (0) | 2022.10.03 |
[프로그래머스] 올바른 괄호 C++ 풀이 (0) | 2022.09.29 |
[프로그래머스] 최솟값 만들기 C++ 풀이 (0) | 2022.09.29 |
[프로그래머스] 이진 변환 반복하기 C++ 풀이 (0) | 2022.09.28 |
Comments