문제풀이/BOJ

[Python] BOJ/백준 1789번 수들의 합

서채리 2021. 7. 19. 18:11

[문제]

https://www.acmicpc.net/problem/1789

 

1789번: 수들의 합

첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.

www.acmicpc.net

 


[풀이]

최대한 자연수를 많이 더하기 위해서는 작은 수부터 더해야 한다. 따라서 총 더한 수인 sum_num이 입력 수 s보다 클 때까지 1부터 차례대로 더하고 sum_num이 s보다 커졌을 때 반복문을 나와 cnt - 1을 출력한다.

 


[코드]

if __name__ == '__main__':
    s = int(input())
    cnt = 0
    sum_num = 0

    while True:
        cnt += 1
        sum_num += cnt
        if sum_num > s:
            break
    print(cnt - 1)