programmers.co.kr/learn/courses/30/lessons/12924?language=cpp#
처음에 정확성은 맞는데 효율성에서 안되길래 대체 그럼 이건 어떻게 풀어야 하는건가?
했더니 더한 값이 n을 넘어갔을 때의 예외처리를 해주지 않아서 초과가 발생했던 것이었다.
if(temp > n)
{
break;
}
이 부분이다..
int solution(int n) {
int answer = 0;
int idx= 1;
while(idx <= n)
{
int temp = 0;
bool Find = false;
for(int i=idx; i <= n; ++i)
{
temp += i;
if( temp == n)
{
answer += 1;
idx +=1;
Find = true;
break;
}
if(temp > n)
{
break;
}
}
if(!Find)
{
idx +=1;
}
}
return answer;
}
'알고리즘 & 자료구조 > 프로그래머스' 카테고리의 다른 글
[C++/알고리즘] 프로그래머스 (땅따먹기) (0) | 2020.10.22 |
---|---|
[C++/알고리즘] 프로그래머스 (짝지어 제거하기) (0) | 2020.10.21 |
[C++/알고리즘] 프로그래머스 (야근지수) (0) | 2020.10.09 |
[C++/알고리즘] 프로그래머스 (하노이의 탑) (0) | 2020.10.08 |
[C++/알고리즘] 프로그래머스 (구명보트) (0) | 2020.10.08 |