본문 바로가기
알고리즘/백준

백준-1789번(수들의 합)-python3

by nyeongha 2023. 11. 24.
a=int(input())
x=1
while x*(1+x)/2<=a:
    x+=1
print(x-1)

번외로 문제를 만들어서 다시 풀었다.과거의 나야 뭔지 바로바로 알게 주석좀 달아줘..무슨 문제

from functools import reduce
a=int(input())
b=a
arr=[]
for x in range(1,b+1):
    if a>x:
        arr.append(x)
        a-=x
    elif a<x and (a in arr):
        a+=arr.pop()
        arr.append(a)
        k=(reduce(lambda x,y:x+y,arr))
        if k==b:
            print(arr)
            break
    elif a==x:
        arr.append(x)
        print(arr)
        break
print(len(arr))