[Python] 백준 / silver / 1789번 (수들의 합)

문제 링크 : https://www.acmicpc.net/problem/1789

그리디 알고리즘이다.
문제 : 서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?
예를 들어, N = 200일 경우, 최솟값인 x = 1부터 2, 3, 4, ... 순서대로 빼주면 된다.
그래야 N이 최대가 될 수 있기 때문이다.

정답 코드

N = int(input())

answer = 0
x = 1
while True:
    if N < x:
        break
    else:
        N -= x
        x += 1
        answer += 1
print(answer)

좋은 웹페이지 즐겨찾기