⚡️algorithm/master

[set, map, sum] 프로그래머스 lv1. 두 수의 합 (map이랑 sum 같이 쓰기!)

남남이루 2022. 9. 14. 12:05

문제

리스트에서 두 개 뽑아서 더한 값을 오름차순으로 정렬해라.
문제 바로가기

내 풀이

from itertools import combinations

def solution(n):
    comb = set(map(sum,(combinations(n, 2))))
    return sorted(list(comb))
  • 결과 image

비슷한데, map없이 쓴 다른 사람 풀이 (list comprehension)

: 더 느림, 같은 결과를 가져온다는 점만 배우면 된다.

from itertools import combinations
def solution(numbers):
    return sorted(set(sum(i) for i in list(combinations(numbers, 2))))
  • 결과 image

반환값의 형태는 list여야 해서 list로 감싸고 sorted 한건데, sorted는 리스트로 반환하기 때문에

sorted(list(comb)) => sorted(comb) 로 바꿔도 정답처리 된다.
굳이 set을 list변환 안하고 sorted 돌려도 됨!