====== 튜플 ====== ===== 풀이 ===== * 시키는대로 하려면, 각 집합들을 크기순서대로 정렬해서, 크기 1짜리 집합의 원소를 튜플의 첫번째 원소로 두고, 크기 2짜리 집합의 원소들중 처음 등장한 것을 튜플의 두번째 원소로 두고, 이런식으로 끝까지 반복하면 된다. 다만 구현이 귀찮다 * 보다 심플한 방법이 있다. 인풋을 그냥 플래튼시켜서 각 숫자별로 등장하는 횟수를 세어보면 튜플의 첫번째 원소는 n번, 두번째 원소는 n-1번, ..., 마지막 원소는 1번 등장하게 된다. 따라서 그냥 등장 횟수의 역순으로 정렬해서 출력하면 끝. 등장 횟수를 collections.Counter을 써서 처리했다면, 등장횟수별로 정렬하는 것은 most_common 메소드를 이용해서 바로 해결할수 있다. * 시간복잡도는 O(|s|) ===== 코드 ===== """Solution code for "Programmers 64065. 튜플". - Problem link: https://programmers.co.kr/learn/courses/30/lessons/64065 - Solution link: http://www.teferi.net/ps/problems/programmers/64065 """ import collections import re def solution(s): counter = collections.Counter(re.findall('\d+', s)) return [int(num) for num, count in counter.most_common()] {{tag>프로그래머스 ps:problems:programmers:Level_2}}