우당탕탕 개발일지
[해싱] Softeer level 3 성적 평균 (Python 파이썬)(반올림, 소수점) 본문
💡문제 링크
💡문제 분석 요약
n명의 학생들의 성적 정보가 있다. 구간별 성적 평균을 구하고자 한다. 학번을 기준으로 구간을 나누며, 학번 구간 [A, B]가 주어졌을 때 그 구간에 속하는 학생들의 성적 평균을 구하면 된다.
<입력값>
N, K: 학생 수, 구간 수S: 학생들의 성적이 담긴 배열K개의 줄에 걸쳐 구간 정보[A, B]가 입력된다. (i+2)번째 줄에 구간 [A, B]가 입력되었다면 i번째 줄에 구간 평균이 출력되어야 한다.
💡알고리즘 설계
1. 반복문 k번 돌리기
2. 구간 정보를 입력받고, 학생들의 성적이 담긴 s 배열을 구간에 맞게 슬라이싱하기(해싱)
3. 평균을 구하고, 소수 셋째자리에서 반올림하여 소수 둘째자리까지 보이게 출력하기
💡코드
import sys
n, k = map(int, input().split()) # 학생수, 구간수
s = list(map(int, input().split())) # 각 학생의 성적
for _ in range(k):
a, b = map(int, input().split())
ss = s[a-1: b]
print(f"{round(sum(ss) / len(ss), 2):.2f}")
💡 느낀점 or 기억할정보
1. 배열 속 원소들의 평균을 구하는 파이썬 내장함수는 따로 없다. sum() / len() 해야한다!
2. a를 소수 둘째자리까지 출력하려면? print(f"{a:.2f}")
'알고리즘' 카테고리의 다른 글
[정렬] Softeer level 2 금고털이 (Python 파이썬) (0) | 2024.03.17 |
---|---|
[해싱] Softeer level 2 진정한 효도 (Python 파이썬) (0) | 2024.03.17 |
[반복문/인덱싱/대문자] Softeer level 2[한양대 HCPC 2023] X marks the Spot(Python 파이썬) (1) | 2024.03.15 |
[반복문] Softeer level 2 연탄의 크기 (Python 파이썬) (0) | 2024.03.15 |
[숫자] Softeer level2 8단 지도 자동 구축 (Python 파이썬) (0) | 2024.03.14 |