본문 바로가기
알고리즘

프로그래머스 튜플

by eunyoung 2023. 4. 11.

난이도


Level2

 

 

 

 

풀이


1. 파이썬의 eval()함수 + 리스트를 사용한 풀이

def solution(s):
    answer = []
    
    s=s.replace('{','[')
    s=s.replace('}',']')
    
    s=eval(s)
    
    s.sort(key=lambda x:len(x))
    
    for num in s:
        for number in num:
            if number not in answer:
                answer.append(number)
    
    return answer

 

2. 파이썬의 eval()함수 + set을 사용한 풀이

def solution(s):
    answer = []
    
    s=s.replace('{','[')
    s=s.replace('}',']')
    
    s=eval(s)
    
    s.sort(key=lambda x:len(x))
    
    for num in s:
        for number in num:
            if number not in answer:
                answer.append(number)
    
    return answer

 

3. eval() 함수 사용 안한 풀이

def solution(s):
    answer = []
    
    s=s[2:-2]
    s=sorted(s.split("},{"),key=lambda x:len(x))
    
    for case in s:
        case=case.split(",")
        for str in case:
            if int(str) not in answer:
                answer.append(int(str))
    
    return answer

 

4. Counter 함수와 정규표현식을 이용한 풀이

import re
from collections import Counter

def solution(s):
    answer = []
    
    s=Counter(re.findall('\d+',s))
    
    return list(map(int,[k for k,v in sorted(s.items(),key=lambda x:x[1],reverse=True)]))