안녕 세상아,

[프로그래머스/c++] Lv2 숫자의 표현 본문

프로그래머스

[프로그래머스/c++] Lv2 숫자의 표현

돈 많은 백수가 되고싶다 2024. 8. 26. 14:23

https://school.programmers.co.kr/learn/courses/30/lessons/12924

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

기준이 n인데 자꾸 예시인 15로 넣어서 자꾸 틀렸던..

문제 자체는 간단한 편이라고 생각한다. 

 

1. 2중 for문을 돌리며 i를 기준으로 계속 더해주면서 합이 n인 것을 찾는다. 

2. 만약 cnt가 n과 같으면 answer++를 해주고 break를 한다. 

3. cnt가 n보다 크면 필요 없기 때문에 break를 해준다. 

#include <string>
#include <vector>

using namespace std;

int solution(int n) {
    int answer = 0;

    for(int i = 1; i <= n; i++){
        int cnt = 0;
        for(int j = i; j <= n; j++){
            cnt += j;
            if(cnt == n){
                answer++;
                break;
            }
            else if(cnt > n)
                break;
        }
    }
    return answer;
}