알고리즘

튜플

완달프 2021. 5. 8. 03:11

문제

어떤 튜플을 나타내는 집합들이 문자열로 표시되어 입력으로 들어오면, 그 튜플을 알아내면 된다.

 

풀이방법

문자열을 일단 리스트 형태로 변환해야 하고,

리스트 형태로 변환된 내용을 길이 순서대로 정렬해서,

새로 추가되는 원소로 정답 튜플의 원소를 하나씩 얻으면 된다.

 

programmers.co.kr/learn/courses/30/lessons/64065

 

def solution(s):
    tuple_list = s[2:-2].split("},{")
    tuple_list = [e.split(",") for e in tuple_list]
    tuple_list = sorted(tuple_list, key=lambda x: len(x))
    history_set = set()
    answer = []
    for tuple in tuple_list:
        result = set(tuple) - history_set
        answer.append(int(result.pop()))
        history_set = set(tuple)
    return answer

print(solution("{{2},{2,1},{2,1,3},{2,1,3,4}}")==[2, 1, 3, 4])

 

'알고리즘' 카테고리의 다른 글

수식 최대화  (0) 2021.05.08
보석 쇼핑  (0) 2021.05.08
동굴 탐험  (0) 2021.05.06