[BOJ] 쉽게 푸는 문제 in Python

박준규·2022년 1월 7일
0

알고리즘

목록 보기
11/39

문제풀러 가기!

별로 어려운 문제는 아니었습니다. 저는 이 문제 구간합으로 접근했습니다. 입력값이 많지 않기 때문에 굳이 구간합으로 접근하지 않아도 되지만, 최근에 구간합 관련된 문제를 조금씩 풀었어서 활용해볼겸 그렇게 코드를 짰습니다. 그리고 무엇보다 입력값이 1 ~ 1000이었기 때문에, 문제의 조건에 따른 수열을 미리 배열로 만들어 뒀습니다. 그리고 그 배열에 대해 구간합을 진행했습니다. 아래는 풀이 코드입니다.

A, B = map(int, input().split())

answer = [0]

# 문제의 조건에서 준 배열 만들기 -> 나올 수 있는 배열 중 가장 긴 배열임
for i in range(1, 46):
    for j in range(i):
        answer.append(i)

# 구간 합 지행
for i in range(1, len(answer)):
    answer[i] += answer[i-1]

# 구갑 합 구하기
print(answer[B] - answer[A-1])
profile
'개발'은 '예술'이고 '서비스'는 '작품'이다

0개의 댓글