2019 카카오 개발자 겨울 인턴십_튜플.py

김규리·2021년 5월 17일
0

알고리즘 풀이

목록 보기
5/20

튜플.py

튜플을 set 형태의 튜플로 만들어야 한다.

def solution(s):
    answer = []

    # 정규 표현식을 이용해서 {,}을 없애준다
    s = s.lstrip('{').rstrip('}').split('},{')
    # s = s.replace("{","").replace("}","").split(",")
    # print(s)
    temp = []
    for i in s:
        temp.append(list(map(int, i.split(','))))
    temp.sort(key = lambda x: len(x))

    for t in temp:
        for i in t:
            if i not in answer:
                answer.append(i)

    return answer

다른사람 풀이

정규표현식 + Counter

  1. 정규표현식 : re.findall('\d+', s)
    ['2', '2', '1', '2', '1', '3', '2', '1', '3', '4']
  2. Counter :
    Counter({'2': 4, '1': 3, '3': 2, '4': 1})
  3. sorted를 이용해서 value가 큰 순서대로 출력
    [2, 1, 3, 4]
import re
from collections import Counter

def solution(s):
    answer = []
    s = Counter(re.findall('\d+', s))
    # print(s) 
    # Counter({'2': 4, '1': 3, '3': 2, '4': 1})
    for k, v in sorted(s.items(), key=lambda x: x[1], reverse=True):
        answer.append(int(k))
    return answer

0개의 댓글