본문 바로가기
Python

11659

by soojitasan 2024. 6. 28. 16:22

처음으로 시간 초과가 난 문제

제한 시간과 최대 건수 계산을 기반으로 로직 짜기

 

## 🔒 문제 003. 구간 합 구하기 #11659
## ❗시간 초과
n, m = map(int, input().split())
numlist = list(map(int, input().split()))
tot = 0

for i in range (1, m+1):
  i, j = map(int, input().split())
  tot = sum(numlist[i-1:j])
  print(tot)

''' 모범답안
## 최대 건수가 10만건이고 시간 제한이 0.5초 이므로, 구간 마다 합을 매번 계산하면 끝낼 수 없음
## 수를 입력받음과 동시에 합 배열 생성

import sys
input = sys.stdin.readline  ## 반복문으로 입력 받아야할 경우 반드시 사용 ... 시간 초과  ★colab에서는 사용 불가능하므로 pycharm에서 확인
suNo, quizNo = map(int, input().split())
numbers = list(map(int, input().split()))
prefix_sum = [0]
temp = 0

for i in numbers: ## 합 배열 생성
  temp = temp + i
  prefix_sum.append(temp)

for i in range(quizNo):
  s, e = map(int, input().split())
  print(prefix_sum[e] - prefix_sum[s-1])
'''