본문 바로가기

알고리즘 문제풀이

백준 1789 수들의 합 Python 수학 그리디 실버5

정답코드

s = int(input())
sum_v = 0
cnt = 0
i = 0
while sum_v <= s:
    i += 1
    cnt += 1
    sum_v += i

if s - sum_v <= i:
    sum_v -= i
    sum_v -= i-1
    cnt -= 2
    cnt += 1
else:
    sum_v -= i
    cnt -= 1

print(cnt)

95퍼까지는 성공 (sum_v< s)

딱 딸어져서 계싼되는 경우를 제외해서 틀렸음

while sum_v < s:
    i += 1
    cnt += 1
    sum_v += i