코딩테스트/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]

 

풀이 방법:

 

정답: