https://softeer.ai/practice/6294
코드
import sys
input = sys.stdin.readline
n, k = map(int, input().split())
s = list(map(int, input().split()))
# 누적합
acc = [0]
for i in range(n):
acc.append(acc[-1]+s[i])
for _ in range(k):
a, b = map(int, input().split())
avg = (acc[b]-acc[a-1])/(b-a+1)
print(f"{round(avg, 2):.2f}")
소수의 형식을 정해서 출력하는 방식이 조금 헷갈렸던 문제였다. `round()`를 사용해서 소수 2번째 자리까지 나오도록 하면 될 줄 알았는데, 이렇게 불필요한 0이 제거되어 출력될 수도 있다.
예를 들자면,
print(round(23.3496, 3))
# 출력: 23.35
print(round(23.3486, 3))
# 출력: 23.349
23.350에서 마지막 0은 없어도 무방하기에 없어지는 것을 볼 수 있다.
그래서 무조건 소수 두번째 자리까지 고정하고 싶다면 출력 형식을 지정해줘야 한다. 나는 검색을 하여 찾은 블로그 글🔗을 참고하여 다음과 같이 형식을 지정해줬다.
print(f"{round(avg, 2):.2f}")
'문제풀이 > 누적합' 카테고리의 다른 글
[Javascript/자바스크립트] (프로그래머스) 가장 큰 정사각형 찾기 (0) | 2025.03.20 |
---|---|
[Python/파이썬] 백준 16507번 어두운 건 무서워 (0) | 2025.01.19 |
[Python/파이썬] 프로그래머스 롤케이크 자르기 (0) | 2024.10.26 |
[Javascript/자바스크립트] 백준 10751번 COW (0) | 2024.07.12 |
[Python/파이썬] 백준 5549번 행성 탐사 (0) | 2024.06.08 |
https://softeer.ai/practice/6294
코드
import sys input = sys.stdin.readline n, k = map(int, input().split()) s = list(map(int, input().split())) # 누적합 acc = [0] for i in range(n): acc.append(acc[-1]+s[i]) for _ in range(k): a, b = map(int, input().split()) avg = (acc[b]-acc[a-1])/(b-a+1) print(f"{round(avg, 2):.2f}")
소수의 형식을 정해서 출력하는 방식이 조금 헷갈렸던 문제였다. `round()`를 사용해서 소수 2번째 자리까지 나오도록 하면 될 줄 알았는데, 이렇게 불필요한 0이 제거되어 출력될 수도 있다.
예를 들자면,
print(round(23.3496, 3)) # 출력: 23.35 print(round(23.3486, 3)) # 출력: 23.349
23.350에서 마지막 0은 없어도 무방하기에 없어지는 것을 볼 수 있다.
그래서 무조건 소수 두번째 자리까지 고정하고 싶다면 출력 형식을 지정해줘야 한다. 나는 검색을 하여 찾은 블로그 글🔗을 참고하여 다음과 같이 형식을 지정해줬다.
print(f"{round(avg, 2):.2f}")
'문제풀이 > 누적합' 카테고리의 다른 글
[Javascript/자바스크립트] (프로그래머스) 가장 큰 정사각형 찾기 (0) | 2025.03.20 |
---|---|
[Python/파이썬] 백준 16507번 어두운 건 무서워 (0) | 2025.01.19 |
[Python/파이썬] 프로그래머스 롤케이크 자르기 (0) | 2024.10.26 |
[Javascript/자바스크립트] 백준 10751번 COW (0) | 2024.07.12 |
[Python/파이썬] 백준 5549번 행성 탐사 (0) | 2024.06.08 |