프로그래머스(카카오)- 튜플

강경인·2023년 4월 12일

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

문제에서 해맸던 점 :
1. 처음에 s값이 문자열인지 몰랐던것
2. 문제의 리스트로 어떻게 정렬 받을 지 모른 것
3. 리스트 길이로 정렬 할 지 모른 것


S = sorted(s[2:-2].split('},{'),key=len)
a=[]
for i in S: a.append(i.split(','))


answer=[]
for i in a:
    for j in i:
        if int(j) not in answer:
            answer.append(int(j))
            break


print(answer)

ex) s = "{{2},{2,1},{2,1,3},{2,1,3,4}}"

S = sorted(s[2:-2].split('},{'),key=len)

이 때 S = ['2', '2,1', '2,1,3', '2,1,3,4']
a=[]
for i in S: a.append(i.split(','))
a 값
[['2']]
[['2'], ['2', '1']]
[['2'], ['2', '1'], ['2', '1', '3']]
[['2'], ['2', '1'], ['2', '1', '3'], ['2', '1', '3', '4']]

이중리스트 만드는 부분 여기서 양 사이드 {{ }}는 슬라이싱으로 스킵 이후 '},{' 기준으로 스플릿함
->스플릿하면 리스트로 분류됨 이후 분리된것 S에 넣고 길이순 정렬

그리고 ',' 기준으로 나눠서 append

이후 들어가 있는 거는 넣고 아닌거는 나옴
answer=[]
for i in a:
for j in i:
if int(j) not in answer:
answer.append(int(j))
break

0개의 댓글