본문 바로가기
Engineering WIKI/Programmers

[프로그래머스] 두 개 뽑아서 더하기

by wonos 2022. 4. 5.

 

 

코딩테스트 연습 - 두 개 뽑아서 더하기

정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한

programmers.co.kr

 

내 풀이

from itertools import permutations

def solution(numbers):
    answer = []
    nPr = permutations(numbers, 2)
    
    for i in list(nPr):
        if sum(i) in answer:
            continue
        answer.append(sum(i))
    return sorted(answer)

 

다른 방법

from itertools import combinations

def solution(numbers):
    answer = []
    l = list(combinations(numbers, 2))

    for i in l:
        answer.append(i[0]+i[1])
    answer = list(set(answer))
    answer.sort()

    return answer