728x90
반응형
문자열 다루는 문제!
집합 길이별로 정렬해서 새로 추가 된 숫자를 순서대로 정답 리스트에 넣어주면 된다!!
def solution(s):
answer = []
s = s[1:-1] # 대괄호 제거
s = ''.join(s.split('{')).split('}')[:-1] # 집합 분리
set_dict = dict() # 길이 별 집합 저장
for i in s :
if i[0] == "," : i = i[1:] # 맨 앞 쉼표 제거
nums = set(i.split(','))
set_dict[len(nums)] = nums
answer_set = set()
for i in sorted(set_dict.keys()) : # 길이 짧은 순서대로 집합 업데이트
diff = set_dict[i]-answer_set
for num in diff :
answer_set.add(num)
if num != "" :
answer.append(int(num))
return answer
728x90
반응형
'CS Study > Algorithm(Coding Test)' 카테고리의 다른 글
[BOJ] 7576. 토마토 (Python) (0) | 2022.03.25 |
---|---|
[Programmers] 타겟 넘버 (Python) (0) | 2022.03.25 |
[Programmers] 큰 수 만들기 (Python) (0) | 2022.03.25 |
[Programmers] 이진 변환 반복하기 (Python) (0) | 2022.03.25 |
[Programmers] 스킬트리 (Python) (0) | 2022.03.25 |