문제 링크
LV 2: 튜플
구현 방식
- 먼저, s는 문자열이기 때문에 이를 파싱해줘야함
- 우선 s를 '},{'로 split 해줌
- s_set에 파싱한 결과를 할당
- s_set을 길이를 기준으로 오름차순으로 정렬
- s_set을 순회하며, result를 완성시킴
- {{2, 1, 3, 4}, {2}, {2, 1, 3}, {2, 1}} 형태라면 result의 원소 순서는 2, 1, 3, 4 순서로 반환해줘야하기 때문에, 길이가 작은 순서대로 순회하며 값을 추가해줘야한다
코드
def solution(s):
s = s[2:-2].split('},{')
s_set = []
for i in range(len(s)):
s_set.append(list(map(int, s[i].split(','))))
s_set.sort(key=lambda x:len(x))
result = []
check = set()
for i in range(len(s_set)):
for j in range(len(s_set[i])):
if s_set[i][j] not in check:
check.add(s_set[i][j])
result.append(s_set[i][j])
return result