λ¬Έμ
μ μμλ μλμ μμμλ μ΄κ±° λλ μ΄λ€ μμλ₯Ό λ°λ₯΄λ μμλ€μ λͺ¨μμ νν(tuple)μ΄λΌκ³ ν©λλ€. nκ°μ μμλ₯Ό κ°μ§ ννμ n-νν(n-tuple)μ΄λΌκ³ νλ©°, λ€μκ³Ό κ°μ΄ ννν μ μμ΅λλ€.
- (a1, a2, a3, ..., an)
ννμ λ€μκ³Ό κ°μ μ±μ§μ κ°μ§κ³ μμ΅λλ€.
- μ€λ³΅λ μμκ° μμ μ μμ΅λλ€. ex : (2, 3, 1, 2)
- μμμ μ ν΄μ§ μμκ° μμΌλ©°, μμμ μμκ° λ€λ₯΄λ©΄ μλ‘ λ€λ₯Έ ννμ λλ€. ex : (1, 2, 3) ≠ (1, 3, 2)
- ννμ μμ κ°μλ μ νν©λλ€.
μμμ κ°μκ° nκ°μ΄κ³ , μ€λ³΅λλ μμκ° μλ νν (a1, a2, a3, ..., an)μ΄ μ£Όμ΄μ§ λ(λ¨, a1, a2, ..., anμ μμ°μ), μ΄λ λ€μκ³Ό κ°μ΄ μ§ν© κΈ°νΈ '{', '}'λ₯Ό μ΄μ©ν΄ ννν μ μμ΅λλ€.
- {{a1}, {a1, a2}, {a1, a2, a3}, {a1, a2, a3, a4}, ... {a1, a2, a3, a4, ..., an}}
μλ₯Ό λ€μ΄ ννμ΄ (2, 1, 3, 4)μΈ κ²½μ° μ΄λ
- {{2}, {2, 1}, {2, 1, 3}, {2, 1, 3, 4}}
μ κ°μ΄ ννν μ μμ΅λλ€. μ΄λ, μ§ν©μ μμμ μμκ° λ°λμ΄λ μκ΄μμΌλ―λ‘
- {{2}, {2, 1}, {2, 1, 3}, {2, 1, 3, 4}}
- {{2, 1, 3, 4}, {2}, {2, 1, 3}, {2, 1}}
- {{1, 2, 3}, {2, 1}, {1, 2, 4, 3}, {2}}
λ λͺ¨λ κ°μ νν (2, 1, 3, 4)λ₯Ό λνλ λλ€.
νΉμ ννμ νννλ μ§ν©μ΄ λ΄κΈ΄ λ¬Έμμ΄ sκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, sκ° νννλ ννμ λ°°μ΄μ λ΄μ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ ν μ¬ν
- sμ κΈΈμ΄λ 5 μ΄μ 1,000,000 μ΄νμ λλ€.
- sλ μ«μμ '{', '}', ',' λ‘λ§ μ΄λ£¨μ΄μ Έ μμ΅λλ€.
- μ«μκ° 0μΌλ‘ μμνλ κ²½μ°λ μμ΅λλ€.
- sλ νμ μ€λ³΅λλ μμκ° μλ ννμ μ¬λ°λ₯΄κ² νννκ³ μμ΅λλ€.
- sκ° νννλ ννμ μμλ 1 μ΄μ 100,000 μ΄νμΈ μμ°μμ λλ€.
- return νλ λ°°μ΄μ κΈΈμ΄κ° 1 μ΄μ 500 μ΄νμΈ κ²½μ°λ§ μ λ ₯μΌλ‘ μ£Όμ΄μ§λλ€.
λμ μ½λ
def solution(s):
arr = []
answer = {}
im = []
# , κΈ°μ€μΌλ‘ λ¬Έμμ΄ λλλ€.
s = s.split(",")
# λ¬Έμ μ λ€μ μ‘΄μ¬νλ κ΄νΈ μμ€λ€.
for i in range(len(s)):
s[i] = s[i].lstrip("{")
s[i] = s[i].rstrip("}")
for k in s:
arr.append(int(k))
# λΉλμλ₯Ό ꡬν μλ€μ λͺ¨μμ λ§λ λ€.
imp = list(set(arr))
# keyμλ λΉλμλ₯Ό ꡬν μκ° λ€μ΄κ°κ³ valueμλ λΉλμκ° λ€μ΄κ°λ ν΄μ맡μ λ§λ λ€.
for i in imp:
answer[i] = arr.count(i)
# value κ°μ κΈ°μ€μΌλ‘ λ΄λ¦Όμ°¨μ μ λ ¬ν΄μ€λ€.
answer = sorted(answer.items(), key=lambda x: x[1], reverse=True)
# κ°μ₯ λμ λΉλμλ₯Ό κ°μ§ μ μμλλ‘ key κ°μ λͺ¨μμ λ°°μ΄μ λ§λ λ€.
for k in range(len(answer)):
im.append(answer[k][0])
return im
# μλ‘κ² μκ²λ κ°λ
# value κ°μ κΈ°μ€μΌλ‘ λ΄λ¦Όμ°¨μ μ λ ¬νκΈ°
# answer.itemsλ (key,value)κ° ννλ‘ λ€μ΄μλ 리μ€νΈλ₯Ό λ§λ λ€. μ΄ λ¦¬μ€νΈλ₯Ό λλ€ ν¨μλ₯Ό μ¬μ©ν΄μ x[1]μΈ valueλ₯Ό κΈ°μ€μΌλ‘ μ λ ¬ν΄μ€λ€.
answer = sorted(answer.items(), key=lambda x: x[1], reverse=True)
'Algorithm > Programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Programmers] μμ΄ λλ§μκΈ° (0) | 2022.05.01 |
---|---|
[Programmers] μμ λ§λ€κΈ° (0) | 2022.04.30 |
[Programmers] ν¬λ μΈ μΈνλ½κΈ° κ²μ (0) | 2022.04.30 |
[Programmers] μλ μ«μ λνκΈ° (0) | 2022.04.29 |
[Programmers] μ«μ λ¬Έμμ΄κ³Ό μλ¨μ΄ (0) | 2022.04.29 |