상세 컨텐츠

본문 제목

[소프티어] 성적 평균

Algorithm

by 쑤야. 2024. 1. 29. 11:35

본문

https://softeer.ai/practice/6294

 

Softeer - 현대자동차그룹 SW인재확보플랫폼

 

softeer.ai

 

접근


  • 구간에 속한 학생들의 성적 평균을 출력한다
    → 학생 수가 최대 10**6명이며, 구간 수가 최대 10**4이므로 매번 구간의 총합을 구하면 시간 초과가 발생할 수 있다. 
    누적 합을 이용
    • i 인덱스까지 더한 값을 저장
    • 구간의 끝 인덱스의 값 - 구간의 시작 인덱스-1의 값이 구간의 총합이 된다

 

코드


import sys

n, k = list(map(int, sys.stdin.readline().split()))
scores = list(map(int, sys.stdin.readline().split()))

sum = [0, scores[0]]
for i in range(1, len(scores)):
    sum.append(sum[-1] + scores[i])

for i in range(k):
    s, e = list(map(int, sys.stdin.readline().split()))
    print("{:.2f}".format((sum[e] - sum[s-1])/(e-s+1)))

 

'Algorithm' 카테고리의 다른 글

[소프티어] 장애물 인식 프로그램  (1) 2024.01.30
[소프티어] 징검다리  (1) 2024.01.29
[소프티어] 바이러스  (0) 2024.01.29
[소프티어] 8단 변속기  (2) 2024.01.29
[소프티어] 금고털이  (0) 2024.01.29

관련글 더보기