[Prgms_Kakao] νŠœν”Œ

GREENΒ·2021λ…„ 5μ›” 6일
0

Algorithm

λͺ©λ‘ 보기
13/14
post-thumbnail

2019 카카였 겨울 인턴

νŠœν”Œ

πŸ”— 전체 문제 : νŠœν”Œ

νŠœν”Œμ—λŠ” μˆœμ„œκ°€ μžˆλ‹€
μ›μ†Œμ˜ κ°œμˆ˜κ°€ n개이고, μ€‘λ³΅λ˜λŠ” μ›μ†Œκ°€ μ—†λŠ” νŠœν”Œ (a1, a2, a3, ..., an)이 μ£Όμ–΄μ§ˆ λ•Œ(단, a1, a2, ..., an은 μžμ—°μˆ˜), μ΄λŠ” λ‹€μŒκ³Ό 같이 μ§‘ν•© 기호 '{', '}'λ₯Ό μ΄μš©ν•΄ ν‘œν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
-> {{a1}, {a1, a2}, {a1, a2, a3}, {a1, a2, a3, a4}, ... {a1, a2, a3, a4, ..., an}}

πŸ”ˆ 풀이

def solution(s):
    s = s.replace('{','[',s.count('{'))
    s = s.replace('}',']',s.count('}'))
    s = sorted(eval(s), key=lambda x: len(x))#[[2], [2, 1], [2, 1, 3], [2, 1, 3, 4]]
    result = []
    for i in s:
        set_i = set(i)
        if len(result) == 0:
            result += i
        else:
            set_result = set(result)
            add = list(set_i - set_result)
            result += add

    return result

print(solution("{{2},{2,1},{2,1,3},{2,1,3,4}}"))
print(solution("{{1,2,3},{2,1},{1,2,4,3},{2}}"))
print(solution("{{20,111},{111}}"))
print(solution("{{123}}"))
print(solution("{{4,2,3},{3},{2,3,4,1},{2,3}}"))

πŸ”‰ λ‹€λ₯Έ μ‚¬λžŒ 풀이

# λ‹€λ₯Έ μ‚¬λžŒ 풀이
def solution(s):
    answer = []

    s1 = s.lstrip('{').rstrip('}').split('},{')

    new_s = []
    for i in s1:
        new_s.append(i.split(','))

    new_s.sort(key = len)

    for i in new_s:
        for j in range(len(i)):
            if int(i[j]) not in answer:
                answer.append(int(i[j]))

    return answer
profile
μ΄ˆλ‘λ„μΉ˜

0개의 λŒ“κΈ€