👨🏻‍💻알고리즘/프로그래머스

[프로그래머스-카카오] Lv2. 튜플

waveofmymind 2023. 1. 22. 00:15

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/64065

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

✍🏻코드

from collections import deque

def solution(s):
    s = s[2:-2]
    s = s.split('},{')
    answer = []
    s.sort(key=lambda x:len(x))
    for i in s:
        arr = i.split(',')
        for j in arr:
            if int(j) not in answer:
                answer.append(int(j))
    return answer

💡풀이

  • 해당 입력은 '{' , '}' , ',' 이 모두 문자열로 같이 들어오기 때문에 문자열을 작은 단위로 쪼개나가야 합니다.
  • 우선 공통적으로 맨 앞, 맨 뒤의 '{{','}}'을 슬라이싱으로 없애줍니다.
  • 남은 부분을 숫자로 구분하기 위해 '},{'로 다시 나눠줍니다.
  • 올바른 순서대로 튜플을 구하기 위해 원소별 길이대로 오름차순으로 정렬해줍니다.
  • 또 ',' 로 split()해서, 마지막엔 answer에 없을경우 값을 넣어주면 됩니다.