-
11659. 구간 합 구하기 4 (시간 초과 지옥)코테 준비/구현 2023. 1. 7. 19:01
처음에는 이렇게 코드를 짰는데 시간초과를 벗어날 수 없었다... 누적합을 저장한 리스트를 만들어 놓은 뒤 출력해야 시간 단축이 된다는 것을 알았다.
import sys n,m=map(int,sys.stdin.readline().split()) nlist=list(map(int,sys.stdin.readline().split())) for i in range(m): i,j=map(int,sys.stdin.readline().split()) print(sum(nlist[i-1:j]))
<정답>
import sys n,m=map(int,sys.stdin.readline().split()) nlist=list(map(int,sys.stdin.readline().split())) result=[0] sum=0 for i in nlist: sum+=i result.append(sum) for i in range(m): i,j=map(int,sys.stdin.readline().split()) print(result[j]-result[i-1])
'코테 준비 > 구현' 카테고리의 다른 글
[프로그래머스] N개의 최소공배수 (0) 2023.01.17 [백준] 1193. 분수 찾기 (0) 2023.01.14 1676. 팩토리얼 0의 개수 (0) 2022.12.10 달팽이 숫자 (0) 2022.12.07 시각 (0) 2022.12.07