프로그래머스 월간 코드 챌린지 시즌1
- Lv 1. 두 개 뽑아서 더하기 (Python)
https://school.programmers.co.kr/learn/courses/30/lessons/68644
from itertools import combinations
def solution(numbers):
answer = []
a = list(combinations(numbers, 2)) # numbers 배열에서 2개씩 뽑아서 만드는 조합
for i in range(len(a)):
numbers_sum = a[i][0] + a[i][1] # 2개씩 뽑은 값의 합을 구한다.
if (numbers_sum in answer): # 만약 이미 있는 값이라면 넣지 않는다.
continue
else:
answer.append(numbers_sum)
answer.sort() # 오름차순으로 정렬
return answer
itertools.combinations
로 2개씩 뽑아서 조합을 만들어주고, 뽑은 값들을 서로 더하여 합을 구하는데 만약 이미 더한 값이 같은게 있다면 넣지 않고, 없으면 answer에 넣어준다.set()
으로 중복제거를 해도 될 것 같다.
좋은 글 잘 읽었습니다, 감사합니다.