본문 바로가기
공부-코딩테스트/코테풀이 - 자바, 파이썬

튜플 (코딩테스트, 프로그래머스)

by 령과 2022. 1. 25.

문제

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

나의 코드

def solution(s):
    answer = []
    s=s[2:-2]
    s=s.split("},{")
    s=sorted(s,key=lambda x:len(x))
    for i in range(len(s)):
        s[i]=s[i].split(",")
    for i in range(len(s)-1,0,-1):
        for j in s[i-1]:
            s[i].remove(j)
        answer.insert(0,int(s[i][0]))
    answer.insert(0,int(s[0][0]))
    return answer

{, }가 있는 것을 split로 새롭게 s를 구성,

설명을 보고 길이대로 나열한 다음 s[n+1]의 요소들 중에서 s[n]에 속한 것을 제거하면 구하고자 하는 튜플의 순서대로 요소가 1개씩 남게 됨

 

검색한 정보

1. sorted(리스트,key=~) : key을 이용한 조건에 따른 sort를 하는 방법

2. lambda식

3. remove : 리스트.remove(i) 리스트내 i 값을 삭제

댓글