코딩테스트/Lv1
[Python] 백준 온라인 저지 1789번
ggulgood
2022. 4. 26. 15:48
실버 Lv5 https://www.acmicpc.net/problem/1789
1789번: 수들의 합
첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.
www.acmicpc.net
서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?
[Python]
풀이 방법:
자연수 N이 최댓값이 되려면 -> 최대한 많은 자연수를 사용해야한다 -> 서로 다른 자연수들이 최소가 되어야 한다
1부터 차례대로 더해 S보다 커지게 되면 그 개수에서 1을 뺀다.
S보다 작으면 N-1을 출력한다.
코드:
s = int(input())
N = 0
result = 0
for i in range(1,s+1):
result += i
N += 1
if(result > s):
N -= 1
break
print(N)
[Javascript]
풀이 방법:
정답: