본문 바로가기

코딩 테스트/프로그래머스

[프로그래머스 Level 2, C++] 숫자의 표현

728x90
반응형

문제 : 숫자의 표현


풀이 방법

처음 시작하는 숫자를 정해서 반복문으로 1씩 더하고 15이상이면 종료 15이면 answer++ 해주고 반복문이 끝나면 시작하는 숫자 ++ 이런식으로 하면 될 것 같아서 만들어 봤는데 잘 돌아가서 다행이였다 어떤 사람은 그냥 2중 for문으로 만들었던데 깔끔하고 나쁘지 않은 것 같았다.... 수학적 요소가 있다고 하긴 어렵고 노가다 느낌 노가다를 얼마나 효율적으로 쓰려나 싶었는데 어렵네


소스 코드

#include <string>
#include <vector>

using namespace std;

int solution(int n) {
    int answer = 0;
    int i = 1, u = 0, sum = 0;
    while(i < n) {
        sum += i;
        u = ++i;
        while(true) {
            sum += u++;
            if(sum>n) break;
            else if(sum==n) {
                answer++;
                break;
            }
        }
        sum = 0;
    }
    return ++answer;
}
728x90
반응형