# 구간 합 구하기 4
# 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오:
# 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다.
# 총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다.
# 1 <= N <= 100,000
# 1 <= M <= 100,000
# a <= i <= j <= N
n, m = input().split()
n = int(n)
m = int(m)
num = input().split()
sum = [0]
result = list()
# 리스트 숫자로 변환
for i in range(0, n):
num[i] = int(num[i])
sum.append(num[0])
# 합 배열 만들기
for i in range(1, n):
sum.append(sum[ i ] + num[i])
# 결과 리스트에 저장
for i in range(0, m):
a, b = input().split()
a = int(a)
b = int(b)
result.append(sum[b] - sum[a-1])
# 출력
for i in range(0, m):
print(result[i])
파이썬에서 input은 무조건 문자열로 받는다고 한다 ..
항상 int() 이용해서 형변환 해줘야 하는 듯 ..
'Code > Python' 카테고리의 다른 글
[Python] 백준 2018번 수들의 합 5 (0) | 2023.09.25 |
---|---|
[Python] 백준 10986번 나머지 합 (1) | 2023.09.25 |
[Python] 백준 11660번 구간 합 구하기 5 (ps. 0으로 이루어진 리스트 만들기([[] * n] vs [[] for i in range])) (0) | 2023.09.23 |
[Python] 백준 1546번 평균 (0) | 2023.09.22 |
[Python] 백준 11720번 숫자의 합 (0) | 2023.09.22 |