본문 바로가기

알고리즘

프로그래머스 - 튜플(Python)

반응형

문제 설명

알고리즘 고민

입력으로 주어진 s가 모두 문자열이므로 양 끝을 제거하고 " },{ "를 기준으로 split하여 배열 형태로 만든다. 이후에는 각 각 배열 요소 안에 여러 요소가 쉼표로 구분되기에 쉼표로 나눈 값을 다시 배열로 넣고 Counter 모듈을 이용하여 개수 순서대로 정렬하고 순서대로 answer에 추가하여 해결하였다.

코드

from collections import Counter

def solution(s):
    s = s[2:-2]  
    elements = s.split("},{")  

    temp = []  
    for element in elements:
        temp.extend(element.split(",")) 

    counter = Counter(temp)
    answer = [int(num) for num, _ in counter.most_common()]  

    return answer

 

반응형