728x90
반응형

아래는 처음 풀이 코드이다. 정답이긴 하지만 코드가 쓸데없이 길어서 짜면서 답답함을 느꼈다.

def easy(n):
    s = 0
    num, cnt = 1, 1
    while(1):
        for _ in range(num):
            if cnt == n+1:
                break
            s += num
            cnt += 1
        num += 1
        if cnt == n+1:
            break
    return s

A, B = map(int, input().split())
print(easy(B) - easy(A-1))

아래는 최종 풀이 코드이다.

위의 과정을 리스트의 합을 사용해 간단하게 구현했다.

A, B = map(int, input().split())
li = []
for i in range(1, 46):
    li += [i]*i
print(sum(li[A-1:B]))
728x90
반응형

+ Recent posts