문제
서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?
입력
첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.
출력
첫째 줄에 자연수 N의 최댓값을 출력한다.

답안
t = int(input())
sum = 0
cnt = 0
for i in range(1, t+1):
sum += i
cnt += 1
if sum > t:
cnt -= 1
break
print(cnt)
후기
sum, cnt를 정의해주고
1~t까지의 범위에서 1씩 증가하는 값을 sum에 넣어주고, cnt값도 1씩 증가시킨다.
만약 sum이 주어진 입력값인 t보다 커지게 된다면, 그 직전값의 cnt를 구해야 하므로 cnt에서 1을 빼주고 반복문에서 탈출한다.
탈출한 cnt값을 출력하면 된다.
728x90
'파이썬 코딩테스트' 카테고리의 다른 글
백준 2480번 - 주사위 세개 (파이썬/Python) (0) | 2024.01.07 |
---|---|
백준 1934번 - 최소공배수 (파이썬/Python) (0) | 2024.01.06 |
백준 11653번 - 소인수분해 (파이썬/Python) (0) | 2024.01.04 |
백준 10817번 - 세 수 (파이썬/Python) (0) | 2024.01.03 |
백준 2935번 - 소음 (파이썬/Python) (0) | 2024.01.02 |