본문 바로가기
알고리즘/카카오 기출문제

[파이썬🐍] 프로그래머스 : 튜플

by 코딩개미뚠뚠 2021. 4. 16.
반응형

기본적인 파이썬 함수들을 잘 알고 있으면 쉬운 문제였다.

나는 이 문제를 풀면서 eval()이라는 함수를 처음 접하게 되었다.

eval()은 ""를 없애주고 본연의 값만 가져온다

def solution(s):   #"{{1,2,3},{2,1},{1,2,4,3},{2}}" 
    answer=[]   
    s = list(eval(s[1:-1]))   #[{1, 2, 3}, {1, 2}, {1, 2, 3, 4}, {2}].......1
    
    if len(s) == 1: 
        answer.append(s[0])
        
    else:
        temp=sorted(s,key=lambda x: len(x))   #[{2}, {1, 2}, {1, 2, 3}, {1, 2, 3, 4}].......2
        temp=[list(i) for i in temp]   #[[2], [1, 2], [1, 2, 3], [1, 2, 3, 4]]......3
        
        for item in temp: 
            for j in range(len(item)): 
                if item[j] not in answer: 
                    answer.append(item[j]) 
                else: continue
        
    return answer

1번에서는 리스트형식으로 만들어준다.

2번에서는 개수가 적은 순서대로 정렬해준다.

3번에서는 안에 각각을 리스트 형태로 만들어준다.

 

카카오 문제에서 쉬운 편이라고 하지만 나는 낮설어서 어려웠다ㅜㅜ 나 아직 많이 부족하다.

 

반응형

댓글