본문 바로가기

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

숫자의 표현

#include <string>
#include <vector>
#include <iostream>

using namespace std;

int solution(int n) {
    int answer = 0;
    
    int sum = 0;
    
    int stopNum = n / 2;
    stopNum++;
    
    cout << "stopNum = " << stopNum << endl;
    
    for(int i=1; i<=n; i++) {
        
        sum = 0;
        
        for(int j=i; j<=n; j++) {
            sum += j;
            
            if(sum > n)
                break;

            if(sum == n) {
                sum = 0;
                answer++;

                break;
            }
        }
    }
    
    cout << "answer = " << answer << endl;

    return answer;
}

효율성 체크에서 보통 실패를 하게 되는데..

아마도 완전 탐색때문에 O(N^2) 때문이라 그럴 것이다.

 

그래서 반복문 안에 break가 될 수 있는 조건을 넣어주면 효율성 체크에서 통과될 수 있다!

'코딩 테스트 > 프로그래머스 코딩테스트' 카테고리의 다른 글

다리를 지나는 트럭  (0) 2022.11.27
다음 큰 숫자  (0) 2022.11.22
[1차] 다트 게임  (0) 2022.10.29
JadenCase 문자열 만들기  (0) 2022.10.04
최솟값 만들기  (0) 2022.10.03