문제
리스트에서 두 개 뽑아서 더한 값을 오름차순으로 정렬해라.
문제 바로가기
내 풀이
from itertools import combinations
def solution(n):
comb = set(map(sum,(combinations(n, 2))))
return sorted(list(comb))
- 결과
비슷한데, map없이 쓴 다른 사람 풀이 (list comprehension)
: 더 느림, 같은 결과를 가져온다는 점만 배우면 된다.
from itertools import combinations
def solution(numbers):
return sorted(set(sum(i) for i in list(combinations(numbers, 2))))
- 결과
반환값의 형태는 list여야 해서 list로 감싸고 sorted 한건데, sorted는 리스트로 반환하기 때문에
sorted(list(comb))
=> sorted(comb)
로 바꿔도 정답처리 된다.
굳이 set을 list변환 안하고 sorted 돌려도 됨!