코딩테스트

[프로그래머스][KAKAO_인턴][2019] 튜플

pythaac 2021. 9. 8. 04:23
프로그래머스 코딩테스트 고득점 Kit의 문제입니다.

https://programmers.co.kr/learn/challenges?tab=algorithm_practice_kit

 

코딩테스트 연습

기초부터 차근차근, 직접 코드를 작성해 보세요.

programmers.co.kr

 

문제

https://programmers.co.kr/learn/courses/30/lessons/64065

 

코딩테스트 연습 - 튜플

"{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1]

programmers.co.kr

 

내가 작성한 코드

import re
from collections import Counter

def solution(s):
    cnt = Counter()
    for num in re.findall("\d+", s):
        cnt[num] += 1

    return [int(n[0]) for n in cnt.most_common()]
  • 튜플
    • 중복 원소가 존재하고 순서가 존재
  • 집합
    • 중복원소도 순서도 없음
  • 문제 접근
    • 중복이 없는 튜플에 대해 순서가 뒤섞인 집합들로 튜플을 유추
    • 이 때, 원소의 개수와 튜플의 순서를 연관지어 볼 수 있도록 입력이 주어짐
      - 순서가 뒤섞인 {a1}, {a1, a2}, {a1, a2, a3} ... 로 주어짐
    • 개수가 많을 수록 더 앞의 인덱스임을 알 수 있다

 

다른 사람이 작성한 코드

None

 

기억해야할 것

  • 구현은 간단하지만 규칙을 찾아내는 것이 핵심인 문제였다