관리 메뉴

커리까지

[프로그래머스] 2019 카카오 개발자 겨울 인턴십 튜플 파이썬 (2번째 풀이) 본문

알고리즘/풀이

[프로그래머스] 2019 카카오 개발자 겨울 인턴십 튜플 파이썬 (2번째 풀이)

목표는 커리 2021. 9. 26. 15:42
728x90
SMALL

소스코드

import re
from collections import OrderedDict

def solution(s):
    return list(OrderedDict.fromkeys(sum(sorted(list(list(map(int, i.split(','))) for i in re.split('[{}]+', s) if i not in ('', ',')), key=len), [])))
  • 한줄로 끝내보려고 sum 함수와 OrderedDict를 사용하였다.
  • 우선 sum([1,2,3,4], [])을 하면 이중 리스트를 한 줄의 리스트로 변형시켜준다.
    • split()로 나온 리스트들을 하나로 만들기 위해서 사용하였다.
  • OrderedDict은 인덱스를 기억하면서 중복을 제거해준다.
    • [111, 200,111] 일 때 set을 하면 순서가 지켜지지 않지만 OrderedDict은 [111,200]으로 기억하고 만들어준다.
728x90
LIST