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

김멉덥·2023년 7월 18일
0

알고리즘 공부

목록 보기
59/171
post-thumbnail

문제

프로그래머스 월간 코드 챌린지 시즌1


코드 구현

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()으로 중복제거를 해도 될 것 같다.

profile
데굴데굴 뚝딱뚝딱 개발기록

1개의 댓글

comment-user-thumbnail
2023년 7월 18일

좋은 글 잘 읽었습니다, 감사합니다.

답글 달기