λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

μ½”λ”© ν…ŒμŠ€νŠΈ/Baejoon

[λ°±μ€€] 1546번 - 평균

πŸ“– λ¬Έμ œ

μ„Έμ€€μ΄λŠ” 기말고사λ₯Ό 망쳀닀. μ„Έμ€€μ΄λŠ” 점수λ₯Ό μ‘°μž‘ν•΄μ„œ 집에 κ°€μ Έκ°€κΈ°λ‘œ ν–ˆλ‹€. 일단 자기 점수 쀑에 μ΅œλŒ“κ°’μ„ κ³¨λžλ‹€. 이 값을 M이라고 ν•œλ‹€. 그리고 λ‚˜μ„œ λͺ¨λ“  점수λ₯Ό 점수/M*100으둜 κ³ μ³€λ‹€.

 

예λ₯Ό λ“€μ–΄, μ„Έμ€€μ΄μ˜ 졜고점이 70이고, μˆ˜ν•™μ μˆ˜κ°€ 50μ΄μ—ˆμœΌλ©΄ μˆ˜ν•™μ μˆ˜λŠ” 50/70*100이 λ˜μ–΄ 71.43이 λœλ‹€.

 

μ„Έμ€€μ΄μ˜ 성적을 μœ„μ˜ λ°©λ²•λŒ€λ‘œ μƒˆλ‘œ κ³„μ‚°ν–ˆμ„ λ•Œ, μƒˆλ‘œμš΄ 평균을 κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

πŸ‘€ μΆœμ œμ˜λ„

μ΅œλŒ€κ°’μ„ ꡬ뢄할 수 μžˆλŠ”μ§€ / 평균을 ꡬ할 수 μžˆλŠ”μ§€

🧾 μ½”λ“œ

n= int(input()) # λͺ‡ 개의 점수 μž…λ ₯ν•  것인지 μž…λ ₯
test_list = list(map(int,input().split())) # 점수 μž…λ ₯
max_score = max(test_list) # μž…λ ₯ν•œ 점수 쀑 μ΅œλŒ“κ°’ max_score μ €μž₯
new_list =[] # new_list 리슀트 μ΄ˆκΈ°ν™”
for score in test_list: # μž…λ ₯ν•œ 점수만큼 반볡
    new_list.append(score/max_score*100) # μž…λ ₯ν•œ 점수/μ΅œλŒ“κ°’*100 계산
test_avg = sum(new_list)/n # μƒˆλ‘œμš΄ 평균 κ΅¬ν•˜κΈ°
print(test_avg) # μƒˆλ‘œμš΄ 평균 좜λ ₯

πŸ’» 풀이섀λͺ…

1. λͺ‡ 개의 점수λ₯Ό μž…λ ₯ν•  것인지 μž…λ ₯λ°›κΈ°.

2. μž…λ ₯ν•œ 점수의 개수만큼 점수 μž…λ ₯ν•˜κ³  list둜 μ €μž₯.

3. μž…λ ₯ν•œ 점수 쀑 μ΅œλŒ“κ°’μ„ max_score에 μ €μž₯함.

4. μƒˆλ‘œμš΄ 평균을 κ΅¬ν•΄μ•Όν•˜κΈ° λ•Œλ¬Έμ— for문을 μ΄μš©ν•˜μ—¬ μž…λ ₯ν•œ 점수만큼 λ°˜λ³΅ν•¨.

5. μƒˆ λ¦¬μŠ€νŠΈμ— μž…λ ₯ν•œ 점수/μ΅œλŒ“κ°’*100의 계산결과λ₯Ό μ €μž₯함.

6. μž…λ ₯ν•œ 점수만큼 λ°˜λ³΅ν•œ ν›„ sum()을 μ΄μš©ν•˜μ—¬ new_listλ₯Ό λ‹€ λ”ν•˜κ³  μž…λ ₯ν•œ 점수의 개수λ₯Ό λ‚˜λˆ„μ–΄ μƒˆλ‘œμš΄ 평균을 κ΅¬ν•˜κ³  좜λ ₯함.

πŸ“ ν•™μŠ΅λ°©λ²•

python의 λ‚΄μž₯ν•¨μˆ˜ ν•™μŠ΅κ³Ό 리슀트의 μ‚¬μš© 예제 ν•™μŠ΅ν•˜κΈ°.