본문 바로가기
알고리즘/프로그래머스

[ 프로그래머스 / 투포인트 ] 숫자의 표현

by 뎁꼼 2020. 6. 30.

1. 문제


 

 

코딩테스트 연습 - 숫자의 표현

Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할

programmers.co.kr

 

 

2. 소스코드


 

 

 

소스코드

#include <string>
#include <iostream>

using namespace std;

int solution(int n) {
    int answer = 0, start = 1, end = 1, sum = start;

    while (!(start > n or end > n)) {
        if (sum == n) {
            answer++;
            sum -= start++;
        }
        else if (sum < n) {
            sum += ++end;
        }
        else if (sum > n) {
            sum -= start++;
        }

    }
    return answer;
}