https://www.acmicpc.net/problem/1789
#Solution
200을 각각 다른 수로 해당 수를 구성하는 방법 중 최댓값은
1+2+3+... + 16+17+18 + 29 이다
가장 작은 값들로 수를 구성해준뒤, 마지막 값으로 나머지를 채워주면 된다.
즉 다시 말해 자연수 x의 정답은
sum(1:18) <= x < sum(1:19) (171~189)
-> 18개가 최대
sum(1:19) <= x < sum(1:20) (190~209)
-> 19개가 최대
인 셈이다.
N = int(input())
temp = 1
answer = 0
while True:
N -= temp
if N >= 0:
answer += 1
temp += 1
else:
print(answer)
break
'Programming [Python] > 백준 알고리즘 솔루션' 카테고리의 다른 글
#175 백준 파이썬 [4101] 크냐? (0) | 2019.11.05 |
---|---|
#174 백준 파이썬 [2480] 주사위 세개 (0) | 2019.11.05 |
#172 백준 파이썬 [10757] 큰 수 A+B (0) | 2019.11.05 |
#171 백준 파이썬 [2935] 소음 (0) | 2019.11.05 |
#170 백준 파이썬 [5355] 화성 수학 (0) | 2019.11.05 |