백준 1789 수들의 합
https://www.acmicpc.net/problem/1789
문제
서로 다른 n개의 자연수의 합을 s라 할 때 자연수 n의 최댓값은 얼마인가
(n개의 자연수의 합이 s 이다)
입력
첫째줄에 자연수 s가 주어진다
출력
n의 최댓값을 출력한다
풀이
n의 개수를 최대로 하기 위해서는 1부터 n의 값을 +1 하여 s에 근접하게 만들면 된다고 생각하였다
그래서 반복문을 사용하여 1부터 s보다 작거나 같을 때까지 더하여 s보다 커지면 현재 더한 값에서 -1 한 값을 출력한다
코드
s=int(input())
sum=0
i=1
while sum<=s:
sum+=i
if sum>s: #더했을때 s보다 커질경우 -1
i-=1
continue
i+=1
print(i)
반응형
'파이썬 문제풀이 > 그리드' 카테고리의 다른 글
[백준 파이썬] 2109 순회강연 (1) | 2024.10.24 |
---|---|
[백준 파이썬] 보물 1026 (0) | 2024.05.21 |
[백준 파이썬] 19598 최소 회의실 개수 (0) | 2024.03.07 |
[백준 1700 파이썬] 멀티탭 스케줄링 (1) | 2024.02.16 |
[백준 11508 파이썬] 2+1 세일 풀이 (2) | 2024.01.24 |