Algorithm/νλ‘κ·Έλλ¨Έμ€
[νλ‘κ·Έλλ¨Έμ€ / Pythonνμ΄μ¬] νν
meeeeejin
2021. 5. 15. 11:00
λ¬Έμ λ§ν¬: https://programmers.co.kr/learn/courses/30/lessons/64065
λ¬Έμ μ€λͺ
νν (a1, a2, a3, a4)λ₯Ό νννλ μ§ν©μ μμμ κ°μκ° μμ μμλλ‘ μ λ ¬νλ©΄ {{a1}, {a1, a2}, {a1, a2, a3}, {a1, a2, a3, a4}}κ° λ©λλ€. μ΄λ μ§ν©μμ ννμ ꡬνλ λ°©λ²μ, {ai} = s[i] - s[i - 1] μ λλ€. (νΈμμ μΈλ±μ€λ₯Ό 1λΆν° μΉ΄μ΄νΈνμ΅λλ€. ) μλ₯Ό λ€μ΄ iλ 3μΌ λ, s[3] - s[2] = {a1, a2, a3} - {a1, a2} = {a3}μ λλ€.
λ°λΌμ μ£Όμ΄μ§ sμ μμλ€μ 리μ€νΈμ λ΄μμ μμ(μ§ν©)μ κ°μκ° μμ μμλλ‘ μ λ ¬ν©λλ€. {ai} = s[i] - s[i - 1]μ μ΄μ©ν΄μ ννμ μμλ₯Ό μμμλΆν° ꡬν©λλ€.
λ¬Έμμ΄ ννλ₯Ό 리μ€νΈλ‘ λ³ννκΈ° μν΄μ ast.literal_eval()μ μ¬μ©νμ΅λλ€.
μμ€μ½λ
import ast
def solution(s):
answer = []
s = "[" + s[1:-1] + "]"
s = ast.literal_eval(s) # sμ μμλ€μ 리μ€νΈλ‘ λ³ννμ¬ μ μ₯
s.sort(key=lambda x: len(x)) # μμμ κ°μκ° μμ μμλλ‘ s μ λ ¬
answer.append(list(s[0])[0])
for i in range(0, len(s) - 1):
answer.append(list(s[i + 1] - s[i])[0])
return answer
728x90