π‘ λ¬Έμ μ€λͺ
μνΌ κ²μ κ°λ°μ μ€λ 리λ ν° κ³ λ―Όμ λΉ μ‘λ€. κ·Έλ κ° λ§λ νλ μ¦ μ€μ²μ±μ΄ λμ±κ³΅μ κ±°λμ§λ§, μμ¦ μ κ· μ¬μ©μμ μκ° κΈκ°ν κ²μ΄λ€. μμΈμ μ κ· μ¬μ©μμ κΈ°μ‘΄ μ¬μ©μ μ¬μ΄μ μ€ν μ΄μ§ μ°¨μ΄κ° λ무 ν° κ²μ΄ λ¬Έμ μλ€.
μ΄ λ¬Έμ λ₯Ό μ΄λ»κ² ν κΉ κ³ λ―Ό ν κ·Έλ λ λμ μΌλ‘ κ²μ μκ°μ λλ €μ λμ΄λλ₯Ό μ‘°μ νκΈ°λ‘ νλ€. μμ μνΌ κ°λ°μλΌ λλΆλΆμ λ‘μ§μ μ½κ² ꡬννμ§λ§, μ€ν¨μ¨μ ꡬνλ λΆλΆμμ μκΈ°μ λΉ μ§κ³ λ§μλ€. μ€λ 리λ₯Ό μν΄ μ€ν¨μ¨μ ꡬνλ μ½λλ₯Ό μμ±νλΌ.
- μ€ν¨μ¨μ λ€μκ³Ό κ°μ΄ μ μνλ€.
- μ€ν μ΄μ§μ λλ¬νμΌλ μμ§ ν΄λ¦¬μ΄νμ§ λͺ»ν νλ μ΄μ΄μ μ / μ€ν μ΄μ§μ λλ¬ν νλ μ΄μ΄ μ
μ 체 μ€ν μ΄μ§μ κ°μ N, κ²μμ μ΄μ©νλ μ¬μ©μκ° νμ¬ λ©μΆ°μλ μ€ν μ΄μ§μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ stagesκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, μ€ν¨μ¨μ΄ λμ μ€ν μ΄μ§λΆν° λ΄λ¦Όμ°¨μμΌλ‘ μ€ν μ΄μ§μ λ²νΈκ° λ΄κ²¨μλ λ°°μ΄μ return νλλ‘ solution ν¨μλ₯Ό μμ±νλΌ.
π‘ μ νμ¬ν
- μ€ν μ΄μ§μ κ°μ Nμ 1 μ΄μ 500 μ΄νμ μμ°μμ΄λ€.
- stagesμ κΈΈμ΄λ 1 μ΄μ 200,000 μ΄νμ΄λ€.
- stagesμλ 1 μ΄μ N + 1 μ΄νμ μμ°μκ° λ΄κ²¨μλ€.
- κ° μμ°μλ μ¬μ©μκ° νμ¬ λμ μ€μΈ μ€ν μ΄μ§μ λ²νΈλ₯Ό λνλΈλ€.
- λ¨, N + 1 μ λ§μ§λ§ μ€ν μ΄μ§(N λ²μ§Έ μ€ν μ΄μ§) κΉμ§ ν΄λ¦¬μ΄ ν μ¬μ©μλ₯Ό λνλΈλ€.
- λ§μ½ μ€ν¨μ¨μ΄ κ°μ μ€ν μ΄μ§κ° μλ€λ©΄ μμ λ²νΈμ μ€ν μ΄μ§κ° λ¨Όμ μ€λλ‘ νλ©΄ λλ€.
- μ€ν μ΄μ§μ λλ¬ν μ μ κ° μλ κ²½μ° ν΄λΉ μ€ν μ΄μ§μ μ€ν¨μ¨μ 0 μΌλ‘ μ μνλ€.
π‘ λμμ½λ
μ²μ μκ°ν΄λΈ λ°©λ²μ 1λΆν° N+1κΉμ§ forλ¬Έμ λ리면μ stages 리μ€νΈμ i λ§λ€ count ν¨μλ₯Ό μ΄μ©νμ¬
stages.count(i) / len(stages) ν΄μ£Όλ λ°©λ²μ μκ°νλ€.
μ΄μ κ°μ λ°©λ²μΌλ‘ ꡬνμ ν ν κ°κ°μ μ€ν¨μ¨λ€μ μλ‘μ΄ λ¦¬μ€νΈμ νλνλ μ§μ΄λ£μλ€
def solution(N, stages):
People = len(stages)
faillist = []
for i in range(1, N + 1):
faillist.append(stages.count(i) / People)
if stages.count(i) / People > 0:
People -= stages.count(i)
print(faillist)
A = 5
B = [2, 1, 2, 6, 2, 4, 3, 3]
solution(A, B)
κ²°κ΄κ°μ μλμ κ°μ΄ κ°κ°μ μ€ν¨μ¨μ΄ μ μ μ₯λ κ²μ λ³Ό μ μλ€.
νμ§λ§ μ°λ¦° κ²°κ³Όκ°μ μ€ν¨μ¨μ λ΄λ¦Όμ°¨μμΌλ‘ λ°°μ΄μ μΈλ±μ€λ₯Ό μΆλ ₯ν΄μΌ νλ€.
λΆλͺ forλ¬Έμ ν λ² λ λ리거λ νλ©΄ λ°νμ μλ¬κ° λ νλ₯ μ΄ λμ κ² κ°κ³ , λ μ’μ λ°©λ²μ΄ μμ κ²λ§ κ°μ μκ°μ κ³μ κ³ λ―Όμ νλ€.
κ·Έλ¬λ μ€ μμΉ¨μ λ€νΈ μΈμ΄μ λ¬Έλ²μ 보면μ κΈ°μ΅λ map!!
π‘ νμ΄μ¬μμλ 리μ€νΈλ₯Ό λμ λλ¦¬λ‘ λ체ν΄μ μ΄μ©νλ©΄ ν μ μμ κ² κ°μλ€.!!
νμ§λ§ λ¬Έμ λ λμ λ리 κ°μ μ΄λ»κ² μ λ¬νλμ§ κΈ°μ΅μ΄ λμ§ μλλ€ π€¦βοΈ
κ·Έλμ λμ λ리 λ£λ λ²μ λ€μ ꡬκΈλ§..
κ°λ¨νλ€. 리μ€νΈ [] λμ λμ λλ¦¬μΈ {}λ‘ μ μΈμ ν΄μ£Όκ³ 'λμ λ리{μΈλ±μ€} = κ°'μΌλ‘ λ£μΌλ©΄ λ!
κ·Έλ¦¬κ³ λλ€μμ μ΄μ©νμ¬ returnμ ν΄μ£Όμλ€.
π‘ μμ μ½λ
def solution(N, stages):
People = len(stages)
faillist = {}
for i in range(1, N + 1):
if People != 0:
faillist[i] = stages.count(i) / People
People -= stages.count(i)
else:
faillist[i] = 0
return sorted(faillist, key=lambda i: faillist[i], reverse=True)
* λμ λ리 μμ§ λ§μ
* λλ€μ μμ§ λ§μ
'algorithm' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BAEKJOON] 4949λ²: κ· νμ‘ν μΈμ - νμ΄μ¬(python) (0) | 2021.06.29 |
---|---|
[νλ‘κ·Έλλ¨Έμ€ level1] λ‘λμ μ΅κ³ μμμ μ΅μ μμ - νμ΄μ¬ (0) | 2021.06.20 |
[python] μ ν μ λ ¬ (selection sort) (0) | 2020.11.22 |
[python] RSA (Rivest, Shamir and Adleman) μκ³ λ¦¬μ¦ (0) | 2020.11.06 |
[python] λΉμ¦λ€λ₯΄(Vigenere) μνΈν μκ³ λ¦¬μ¦ (0) | 2020.11.05 |