BOJ - 1789

주의·2024년 1월 14일
0

boj

목록 보기
72/214

백준 문제 링크
수들의 합

❓접근법

  1. 서로 다른 N 개의 자연수의 합이 S이다.
    최대가 되는 N 을 구해야 함!
    문제의 예제를 설명하자면,
    1 + 2 + 3 +.... + 17 + 18 + 19 = 190
    1 + 2 + 3 +.... + 17 + 18 + 19 + 20 = 210
    여기서 1 ~ 19 까지 더한 것이 S를 초과하지 않으므로,
    1 + 2 + 3 +.... + 17 + 18 + 29 = 200이 된다.
  2. 즉 초과했을 때의 개수 - 1을 반환하면 끝!

👌🏻코드

S = int(input())

num = 0
i = 1

lst = []

while True:
    
    lst.append(i)
    num += i
    
    if num > S:
        break
    else:
        i += 1
        
print(len(lst) - 1)

0개의 댓글