[프로그래머스] 튜플

HL·2021년 2월 18일
0

프로그래머스

목록 보기
13/44

문제 링크

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

문제 설명

  • N개의 set이 주어진다
  • set들의 크기는 1~N이다
  • 크기가 i인 set은 set(answer[:i+1])이다
  • answer 리턴

풀이

  • 그대로 구현했다
  • 먼저 s를 set 리스트로 파싱
  • set들을 돌면서
  • i+1 ~ N번째 set에서 i번째 answer를 remove
  • 남은 원소를 answer에 append

코드

def solution(s):
    sets = get_sets(s)
    sets.sort(key=lambda x: len(x))
    answer = list(sets[0])
    for i in range(1, len(sets)):
        for j in range(i, len(sets)):
            sets[j].remove(list(sets[i-1])[0])
        answer.append(list(sets[i])[0])
    return answer


def get_sets(s):
    temp = s[2:-2].split('},{')
    sets = [set(map(int, t.split(','))) for t in temp]
    return sets
profile
Swift, iOS 앱 개발을 공부하고 있습니다

0개의 댓글