[백준] 11659번 : 구간 합 구하기4

James·2023년 8월 20일
0

코딩 테스트

목록 보기
21/41
post-thumbnail

문제

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

풀이

[백준] 11659번 : 구간 합 구하기4 🥈(실버 3)
🎯 39.479%
⏰ 걸린 시간 : 20분
⏲ 시간복잡도
구간 합 O(n)

  • 알고리즘 유형 : [구간 합]

📚 [구간 합]

풀이방법 & 구간 합 알고리즘로 푼 이유?
0. 구간 합을 먼저 구해놓는게 관건이다.
1. N^2으로 구해버리면 시간초과가 발생하기 때문이다.

코드(code)

import sys
input=sys.stdin.readline
N, M = map(int, input().split())
nums = list(map(int,input().split()))
prefix_sum = []

psum=0
for i in nums:
    psum += i
    prefix_sum.append(psum)


for i in range(M):
    start, end = map(int,input().split())
    if start != 1:
        print(prefix_sum[end-1]-prefix_sum[start-2])
    else: 
        print(prefix_sum[end-1])

회고

구간 합 처음 푼건데 풀면서 늘 것 같다.

profile
의미있는 성장의 태도, 긍정적인 사고를 지닌 Deveolper

0개의 댓글