11659번: 구간 합 구하기 4
첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j
www.acmicpc.net
처음에는 아래와 같이 정말 간편하게 풀 수 있을 것이라고 생각하고 풀었다. 아래와 같이 sum과 슬라이싱을 이용했더니 바로 실패했다. 그래서 누적합에 대해서 공부를 했다.
n, m = map(int, input().split())
data = list(map(int, input().split()))
for _ in range(m):
i, j = map(int, input().split())
print(sum(data[i-1:j]))
아래는 누적합에 대해서 공부를 좀하고 풀었다. 누적합을 다 저장해놓고 구간을 입력받으면 뒤의 누적합과 앞의 누적합과의 차를 통해서 구간의 누적합을 구할 수 있었다.
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
data = list(map(int, input().split()))
prefixSum = [0, data[0]]
for i in range(1, n):
prefixSum.append(prefixSum[i] + data[i])
for _ in range(m):
i, j = map(int, input().split())
print(prefixSum[j] - prefixSum[i-1])
가장 어이없었던건 import sys를 통해서 입력을 받지 않으니 바로 시간초과가 난 것이다. 저 2줄을 정말 그냥 넣고 시작해야할 것 같다.
'PS > 백준' 카테고리의 다른 글
실버2 색종이 만들기(2630) (1) | 2024.01.01 |
---|---|
실버1 z(1074) (1) | 2023.12.31 |
실버3 1로 만들기(1463) (0) | 2023.12.30 |
골드5 뱀과 사다리 게임(16928) (1) | 2023.12.28 |
골드5 토마토(7569) (0) | 2023.12.27 |
11659번: 구간 합 구하기 4
첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j
www.acmicpc.net
처음에는 아래와 같이 정말 간편하게 풀 수 있을 것이라고 생각하고 풀었다. 아래와 같이 sum과 슬라이싱을 이용했더니 바로 실패했다. 그래서 누적합에 대해서 공부를 했다.
n, m = map(int, input().split())
data = list(map(int, input().split()))
for _ in range(m):
i, j = map(int, input().split())
print(sum(data[i-1:j]))
아래는 누적합에 대해서 공부를 좀하고 풀었다. 누적합을 다 저장해놓고 구간을 입력받으면 뒤의 누적합과 앞의 누적합과의 차를 통해서 구간의 누적합을 구할 수 있었다.
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
data = list(map(int, input().split()))
prefixSum = [0, data[0]]
for i in range(1, n):
prefixSum.append(prefixSum[i] + data[i])
for _ in range(m):
i, j = map(int, input().split())
print(prefixSum[j] - prefixSum[i-1])
가장 어이없었던건 import sys를 통해서 입력을 받지 않으니 바로 시간초과가 난 것이다. 저 2줄을 정말 그냥 넣고 시작해야할 것 같다.
'PS > 백준' 카테고리의 다른 글
실버2 색종이 만들기(2630) (1) | 2024.01.01 |
---|---|
실버1 z(1074) (1) | 2023.12.31 |
실버3 1로 만들기(1463) (0) | 2023.12.30 |
골드5 뱀과 사다리 게임(16928) (1) | 2023.12.28 |
골드5 토마토(7569) (0) | 2023.12.27 |