문제 링크
코드
def solution(s):
result = sorted(list(map(lambda x: set(map(int, x.split(","))), s[2:-2].split("},{"))))
answer = [result[0]]
for v1, v2 in zip(result[1:], result[:-1]):
answer.append(v1 - v2)
return list(map(lambda x: x.pop(), answer))
리뷰
- 집합 형태의 문자열을 모두 집합으로 변환한 다음 차집합을 이용해서 풀었다.
- 아래 코드와 같이 최대한 줄여봤지만 위의 코드가 더 가독성이 좋은 것 같다.
def solution(s):
result = sorted(list(map(lambda x: set(map(int, x.split(","))), s[2:-2].split("},{"))))
return list(result[0]) + [(v1 - v2).pop() for v1, v2 in zip(result[1:], result[:-1])]