백준 1789 : 수들의 합
https://www.acmicpc.net/problem/1789
1. 접근
- 서로다른 n개의 자연수들의 개수가 많아야 하므로, 가장 작은수부터 더해야 갯수가 가장 많다
=> 1부터 하나씩 값을 빼준다 - 10의 경우, 1+2+3+4 로 딱 맞아떨어지기때문에 4번째 반복문의 값을 얻을 수 있다
cf. 9의 경우, 1+2+3까지 계산된 후, 4까지 더했을 때 정해진 값을 넘어서므로, 반복문의 값에서 -1을 해주어야 한다.
2. 나의 풀이
#include <iostream>
using namespace std;
int main() {
long long s;
cin >> s;
long long sum = s;
long long i = 0;
for (i = 1; i < s; i++) {
sum -= i;
if (sum <=0) break;
}
if (sum == 0) cout << i << "\n";
else cout << i - 1 << "\n";
return 0;
}
Author And Source
이 문제에 관하여(백준 1789 : 수들의 합), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jeongopo/백준-1789-수들의-합저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)