본문 바로가기

Algorithm

[파이썬] 백준 1292번: 쉽게 푸는 문제

https://www.acmicpc.net/problem/1292

 

1292번: 쉽게 푸는 문제

첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다.

www.acmicpc.net

a, b = map(int, input().split())

n = 1
cnt = 1
number = []
while cnt <= b:
    for _ in range(cnt):
        number.append(n)
    cnt += 1
    n += 1
print(sum(number[a-1:b]))

 

입력값 : a, b

1. n, cnt 를 1로 설정, b까지 while문을 돌립니다. (while cnt <= b)

2. cnt의 range만큼 for문을 돌려서 n을 리스트 number에 넣어줍니다. 해당 cnt와 n을 계속 1씩 더해갑니다.

3. while문이 끝나면 number 리스트의 a부터 b까지의 범위 합계를 출력합니다.