[C++로 풀이] 숫자의 표현⭐⭐
카테고리: Programmers
태그: Coding Test Algorithm
📌 숫자의 표현
난이도 ⭐⭐
🚀 문제
🚀 내 풀이 ⭕
#include <string>
#include <vector>
using namespace std;
int solution(int n) {
int answer = 0;
for(int i = 1; i <= n / 2; i++)
{
int sum = 0;
for(int j = i; j <= n; j++)
{
if (sum > n)
{
sum = 0;
break;
}
else if (sum == n)
{
answer++;
break;
}
else if (sum < n)
{
sum += j;
}
}
}
answer++;
return answer;
}
- 1 + 2 + 3 + 4 + 5 = 15 ⭕
answer = 1
- 2 + 3 + 4 + 5 + 6 > 15 ❌
- 3 + 4 + 5 + 6 > 15 ❌
- 4 + 5 + 6 = 15 ⭕
answer = 2
- 5 + 6 + 7 > 15 ❌
- 6 + 7 + 8 > 15 ❌
- 7 + 8 = 15 ⭕
answer = 3
이렇게 n
의 절반까지만 검사해보면 충분하다. 그리고 자기 자신은 무조건 해당 될테니 (15 = 15) 마지막에 1 을 더하여 answer = 4
가 되고 종료.
🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄
댓글 남기기