내용으로 건너뛰기
테페리넷
사용자 도구
등록
로그인
사이트 도구
검색
도구
문서 보기
Fold/unfold all
역링크
미디어 관리자
사이트맵
등록
로그인
>
미디어 관리자
사이트맵
현재 위치:
테페리넷
»
Problem Solving
»
문제
»
프로그래머스
»
튜플
ps:problems:programmers:64065
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== 튜플 ====== ===== 풀이 ===== * 시키는대로 하려면, 각 집합들을 크기순서대로 정렬해서, 크기 1짜리 집합의 원소를 튜플의 첫번째 원소로 두고, 크기 2짜리 집합의 원소들중 처음 등장한 것을 튜플의 두번째 원소로 두고, 이런식으로 끝까지 반복하면 된다. 다만 구현이 귀찮다 * 보다 심플한 방법이 있다. 인풋을 그냥 플래튼시켜서 각 숫자별로 등장하는 횟수를 세어보면 튜플의 첫번째 원소는 n번, 두번째 원소는 n-1번, ..., 마지막 원소는 1번 등장하게 된다. 따라서 그냥 등장 횟수의 역순으로 정렬해서 출력하면 끝. 등장 횟수를 collections.Counter을 써서 처리했다면, 등장횟수별로 정렬하는 것은 most_common 메소드를 이용해서 바로 해결할수 있다. * 시간복잡도는 O(|s|) ===== 코드 ===== <dkpr py> """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()] </dkpr> {{tag>프로그래머스 ps:problems:programmers:Level_2}}
ps/problems/programmers/64065.txt
· 마지막으로 수정됨: 2022/01/12 09:22 저자
teferi
문서 도구
문서 보기
역링크
Fold/unfold all
맨 위로