📝 문제
💡 서로 다른 N개의 자연수의 합이 S라고 한다.
S를 알 때, 자연수 N의 최댓값은 얼마일까?
⚙️ 입력 : 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.
⚙️ 출력 : 첫째 줄에 자연수 N의 최댓값을 출력한다.
1789번: 수들의 합
첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.
www.acmicpc.net
✅ 풀이
n = int(input())
i = 0
num = 0
while True:
if num > n:
i -= 1
print(i)
break
else :
i += 1
num += i
💡 num에 1부터 시작하여 2, 3, 4... 순으로 증가하는 i를 계속해서 더해주었다.
만약 합이 정해진 수를 넘겼다면 무조건 마지막 i에서 1을 뺀 갯수만큼이 정답이므로,
정해진 수를 넘겼을 시점의 i - 1을 출력하고 마무리했다.