[백준] 1789 수들의 합

Hyun·2023년 7월 21일
0

백준

목록 보기
8/81

문제 설명

서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?

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

출력
첫째 줄에 자연수 N의 최댓값을 출력한다.

예제 입력
200
예제 출력
19

문제 풀이

1부터 1씩 증가하면서 더해가다가,
s와 같아진 경우 => cnt 출력
s보다 커진 경우 => cnt-1 출력
하면 된다.

def sol():
    n=int(input())
    sum=0
    i=1
    cnt=0
    while True:
      if sum == n:
        break
      elif sum > n:
        cnt-=1
        break

      sum+=i
      i+=1
      cnt+=1
    print(cnt)
  
sol()
profile
better than yesterday

0개의 댓글