📖 문제


📝 풀이 과정
- 입력 받은 집합 문자열
s
를 처리하기 쉽도록 자른다.
1-1. 우선 s[2:-2]
를 해서 제일 바깥 문자 {
와 }
를 2개씩 지운다.
예시){{1},{1,2},{1,2,3}} -> 1},{1,2},{1,2,3
1-2. split
메소드를 이용해서 },{
을 기준으로 문자열을 잘라서 리스트에 담는다.
예시)1},{1,2},{1,2,3 -> ['1','1,2','1,2,3']
- 1-2에서 생성한 리스트를 문자열의 길이를 기준으로 오름차순으로 정렬한다.
- 1-2에서 생성한 리스트를 순회한다.
3-1. 현재 요소를 ,
를 기준으로 문자열을 잘라서 리스트에 넣는다.
예시){1,2,3} -> [1,2,3]
3-2. 3-1에서 생성한 리스트를 순회하면서 현재까지 구한 튜플 안에 해당 숫자가 없으면 구하고자 하는 튜플의 다음 원소가 된다.
⌨ 코드
def solution(s):
answer = []
s = s[2:-2].split('},{')
s = sorted(s, key = len)
for element in s:
num_in_element = element.split(',')
for num in num_in_element:
num = int(num)
if num not in answer:
answer.append(num)
return answer