코딩/백준

[백준/파이썬/수학] 1789번 수들의 합 코딩테스트 연습풀이 실버5

thisisjade 2022. 3. 15. 20:35
728x90

문제 출처: https://www.acmicpc.net/problem/1789

 

1789번: 수들의 합

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

www.acmicpc.net

 

문제

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

 

입력

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

 

출력

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

 

예제 입력 1

200

 

예제 출력 1

19

 

정답

target = int(input())
sum = 0
tmp = 0

while True:
    tmp +=1
    sum +=tmp
    if sum > target:
        print(tmp-1)
        break
    elif sum == target:
        print(tmp)
        break

target을 통해 값을 불러옵니다.

sum과 tmp에 0을 입력해줍니다.

tmp --> 1씩 커지는 변수
sum --> tmp의 누적합

 

if sum>target일 경우

tmp -1을 출력 후 탈출

 

elif sum == target일 경우

tmp를 출력 후 탈출

 

728x90