[νλ‘κ·Έλλ¨Έμ€/python] μν΄λ¦¬ μ±λ¦°μ§ 2μ£Όμ°¨ : μνΈ νκ°
λ¬Έμ μ€λͺ
λν κ΅μμΈ λΉμ μ, μνΈνκ°λ₯Ό ν΅νμ¬ νμλ€μ΄ μ μΆν κ³Όμ λ¬Όμ νμ μ λΆμ¬νλ €κ³ ν©λλ€. μλλ 0λ²λΆν° 4λ²κΉμ§ λ²νΈκ° λ§€κ²¨μ§ 5λͺ μ νμλ€μ΄ μμ κ³Ό λ€λ₯Έ νμμ κ³Όμ λ₯Ό νκ°ν μ μνμ λλ€.
No. | 0 | 1 | 2 | 3 | 4 |
0 | 90 | 98 | 88 | 65 | |
1 | 50 | 99 | 85 | 77 | |
2 | 47 | 88 | 95 | 80 | 67 |
3 | 61 | 57 | 100 | 80 | 65 |
4 | 24 | 90 | 94 | 75 | 65 |
νκ· | 45.5 | 81.25 | 97.2 | 81.6 | 67.8 |
νμ | F | B | A | B | D |
μμ μ μνμμ, iν jμ΄μ κ°μ iλ² νμμ΄ νκ°ν jλ² νμμ κ³Όμ μ μμ λλ€.
- 0λ² νμμ΄ νκ°ν μ μλ 0λ² νμλ΄κΈ΄ [100, 90, 98, 88, 65]μ
λλ€.
- 0λ² νμμ μκΈ° μμ μκ² 100μ , 1λ² νμμκ² 90μ , 2λ² νμμκ² 98μ , 3λ² νμμκ² 88μ , 4λ² νμμκ² 65μ μ λΆμ¬νμ΅λλ€.
- 2λ² νμμ΄ νκ°ν μ μλ 2λ² νμλ΄κΈ΄ [47, 88, 95, 80, 67]μ
λλ€.
- 2λ² νμμ 0λ² νμμκ² 47μ , 1λ² νμμκ² 88μ , μκΈ° μμ μκ² 95μ , 3λ² νμμκ² 80μ , 4λ² νμμκ² 67μ μ λΆμ¬νμ΅λλ€.
λΉμ μ κ° νμλ€μ΄ λ°μ μ μμ νκ· μ ꡬνμ¬, κΈ°μ€μ λ°λΌ νμ μ λΆμ¬νλ €κ³ ν©λλ€.
λ§μ½, νμλ€μ΄ μκΈ° μμ μ νκ°ν μ μκ° μ μΌν μ΅κ³ μ λλ μ μΌν μ΅μ μ μ΄λΌλ©΄ κ·Έ μ μλ μ μΈνκ³ νκ· μ ꡬν©λλ€.
- 0λ² νμμ΄ λ°μ μ μλ 0λ² μ΄μ λ΄κΈ΄ [100, 50, 47, 61, 24]μ
λλ€. μκΈ° μμ μ νκ°ν 100μ μ μμ μ΄ λ°μ μ μ μ€μμ μ μΌν μ΅κ³ μ μ΄λ―λ‘, νκ· μ ꡬν λ μ μΈν©λλ€.
- 0λ² νμμ νκ· μ μλ (50+47+61+24) / 4 = 45.5μ λλ€.
- 4λ² νμμ΄ λ°μ μ μλ 4λ² μ΄μ λ΄κΈ΄ [65, 77, 67, 65, 65]μ
λλ€. μκΈ° μμ μ νκ°ν 65μ μ μμ μ΄ λ°μ μ μ μ€μμ μ΅μ μ μ΄μ§λ§ κ°μ μ μκ° 2κ° λ μμΌλ―λ‘, μ μΌν μ΅μ μ μ΄ μλλλ€. λ°λΌμ, νκ· μ ꡬν λ μ μΈνμ§ μμ΅λλ€.
- 4λ² νμμ νκ· μ μλ (65+77+67+65+65) / 5 = 67.8μ λλ€.
μ μΈν μ μλ μ μΈνκ³ νκ· μ ꡬν ν, μλ κΈ°μ€μ λ°λΌ νμ μ λΆμ¬ν©λλ€.
νκ· νμ
90μ μ΄μ | A |
80μ μ΄μ 90μ λ―Έλ§ | B |
70μ μ΄μ 80μ λ―Έλ§ | C |
50μ μ΄μ 70μ λ―Έλ§ | D |
50μ λ―Έλ§ | F |
νμλ€μ μ μκ° λ΄κΈ΄ μ μν 2μ°¨μ λ°°μ΄ scoresκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§λλ€. μ΄λ, νμλ€μ νμ μ ꡬνμ¬ νλμ λ¬Έμμ΄λ‘ λ§λ€μ΄μ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ νμ¬ν
- 2 ≤ scoresμ νμ κΈΈμ΄(νμ μ) ≤ 10
- scoresμ μ΄μ κΈΈμ΄ = scoresμ νμ κΈΈμ΄
- μ¦, scoresλ νκ³Ό μ΄μ κΈΈμ΄κ° κ°μ 2μ°¨μ λ°°μ΄μ λλ€.
- 0 ≤ scoresμ μμ ≤ 100
- return κ° νμ
- 0λ² νμμ νμ λΆν° μ°¨λ‘λλ‘ μ΄μ΄ λΆμΈ νλμ λ¬Έμμ΄μ return ν©λλ€.
μ λ΅
def solution(scores):
answer = ''
d = len(scores)
new_scores = [[i[j] for i in scores] for j in range(d)]
for i, std in enumerate(new_scores):
n = std[i]
if std.count(n) == 1 and (max(std) == n or min(std) == n):
avg = (sum(std)-n) / (d-1)
else:
avg = sum(std) / d
if avg >= 90:
answer += 'A'
elif avg >= 80:
answer += 'B'
elif avg >= 70:
answer += 'C'
elif avg >= 50:
answer += 'D'
else:
answer += 'F'
return answer
β scoresλ₯Ό λ€μ§μ΄ new_scoresμ λ£μ΄ μ¬μ©νκΈ°
β count ν¨μλ₯Ό μ΄μ©νμ¬ μ μΌν μ΅κ³ μ λλ μ΅μ μ μΈμ§ νμΈνκΈ°