🗒 1789번 문제

📌 서로 다른 N개, N의 최댓값이란 말에 주목하자 ❗️

1️⃣ 입력한 자연수 S가 서로 다른 N개의 자연수의 합 

2️⃣ N의 최댓값을 구해야 함

3️⃣ 1️⃣ + 2️⃣의 상황을 고려해서 1부터 차례대로 수를 더해가면 N의 최댓값을 얻을 수 있다

4️⃣ 4,294,967,295까지 들어올 수 있기에 int말고 long 사용하기


➰ 코드로 나타낸 1789번 ➰

#include <iostream>

using namespace std;

int main() {
    long n, count = 1, sum = 0;
    
    cin >> n;
    
    while(1) {
        sum += count;
        if (n < sum) break;
        count++;
    }
    
    cout << count-1 << endl;
}
profile
더 멋진 iOS 개발자를 향해

0개의 댓글

Powered by GraphCDN, the GraphQL CDN