코딩테스트/SWEA

[소프티어][누적합] 성적 평균, 실전 문제

박소민 2025. 2. 6. 14:47
성적 평균
 

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

 

softeer.ai

 

  • 내 풀이
    • 소수점 2번째까지
    • format
      • "{:.2f}".format(숫자)
    • round
      • round(숫자,2)
import sys
input=sys.stdin.readline

n,k=map(int,input().split())
students=[0]+list(map(int,input().split()))
prefix_sum=[0]*(n+1)
for i in range(n+1):
    prefix_sum[i]=students[i]+prefix_sum[i-1]

for _ in range(k):
    s,e=map(int,input().split())
    answer=0
    
    answer="{:.2f}".format((prefix_sum[e]-prefix_sum[s-1])/(e-s+1))
    print(answer)

 

실전 문제
  • 내 풀이
import heapq

n, q, k = map(int, input().split())
devices = list(map(int, input().split()))

max_V = max(devices)
nums = [0]*500001
prefix_sum = [0]*(500001)
result = []
for _ in range(q):
    s, e = map(int, input().split())
    nums[s] += 1
    nums[e+1] = -1

queue = []
for i in range(1, max_V+1):
    prefix_sum[i] = prefix_sum[i-1]+nums[i]
    if i in devices:
        heapq.heappush(queue, (-prefix_sum[i], i))

for _ in range(k):
    heapq.heappop(queue)

print(heapq.heappop(queue)[1])