프로그래머스/기타

숫자의 표현

연구하는개발자 2021. 1. 19. 15:28
728x90

programmers.co.kr/learn/courses/30/lessons/12924

 

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

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

programmers.co.kr

 

 

 

#include <string>
#include <vector>

using namespace std;

int solution(int n) {
    int answer = 0;
    int sum =0;
   for(int j=1; j<=n; j++){
    for(int i=j; i<=n; i++){
            sum+=i;
        if(sum==n){answer++; break;}
        else if(sum>n){break;}  // 효율성 테스트 통과 여부 결정
    }
       sum =0;
   }
    return answer;
}

 

어떤 알고리즘? 

- for문을 돌면서 만족하는 연속적인 숫자들을 구하면 된다. 그대신 효율성 테스트를 통과하려면 n 보다 큰 수가 나오면 곧바로 for문을 탈출하도록 만들어야한다.