문제 설명
문제 해결
일단 입력으로 여러 집합이 담긴 집합을 표현한 문자열을 준다.
즉 해당 문자열들을 파싱해야 한다.
파싱이 완료되면 정렬되지 않은 리스트를 원소의 길이에 따라서 정렬해줘야 한다.
리스트와 리스트 사이의 '-' 연산자는 지원되지 않는다.
리스트를 집합으로 전환하여 차집합을 구하고 다시 리스트로 구하여 해당 숫자에 접근할 수 있도록 인덱싱한다.
def solve(s):
s = s.split('},')
for i in range(len(s)):
s[i] = s[i].replace('{','')
s[i] = s[i].replace('}','')
s[i] = [int(x) for x in s[i].split(',')]
s = sorted(s,key=lambda x : len(x))
res = [s[0][0]]
for i in range(1,len(s)):
res.append((list(set(s[i]) - set(s[i-1]))[0]))
return res
def solution(s):
answer = solve(s)
return answer
'Algorithm > 프로그래머스 연습 문제' 카테고리의 다른 글
프로그래머스 / 코딩 테스트 / 행렬의 곱셈 (0) | 2020.12.25 |
---|---|
프로그래머스 / 코딩 테스트 / 올바른 괄호 (0) | 2020.12.25 |
프로그래머스 / 코딩 테스트 / 멀쩡한 사각형 (0) | 2020.12.25 |
프로그래머스 / 코딩 테스트 / 2016년 (0) | 2020.12.25 |
프로그래머스 / 코딩 테스트 / K번째 수 (0) | 2020.12.25 |