ror_coding

[Programmers] 튜플 - 64065 본문

Algorithm/Python

[Programmers] 튜플 - 64065

ro_rdil_31 2024. 12. 4. 15:52
728x90

import re를 활용해서 숫자만 추출한 후에 Counter로 개수 세기!

 

Question

 

특정 튜플을 표현하는 집합이 담긴 문자열 s가 매개변수로 주어질 때, s가 표현하는 튜플을 배열에 담아 return 하도록 solution 함수를 완성해주세요.

 

Point

 

  • Counter를 사용 -> 여러 번 나온 수가 먼저 등장한 숫자 => 따라서 등장 횟수가 큰 숫자부터 저장.

 

Code 1 : 정규표현식, Counter 사용.

 

import re
from collections import Counter
def solution(s):
    s = Counter(re.findall('\d+', s))
    return [int(v) for v, cnt in s.most_common()]

 

Code 2 : mine

 

def solution(s):
    answer, lst = [], []
    for i in s[2:-2].split('},{'): lst.append(i.split(','))
    sorted_s = sorted(lst, key = lambda x : len(x))

    answer.append(sorted_s[0][0])
    for sub in sorted_s[1:] :
        print(set(sub) - set(answer))
        rest = (set(sub) - set(answer))
        r = (list(rest)[0])
        answer.append(r)
        
    return [int(i) for i in answer]

 

now me

On my github

 

728x90