본문 바로가기
알고리즘/프로그래머스

[Python] 두 개 뽑아서 더하기

by 컴공맨 2021. 1. 30.
 

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

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

programmers.co.kr


풀이

파이썬의 permutation을 이용해서 모든 경우의 수를 구한 후 중복을 처리하기위해 set을 사용하여 해결했습니다.

이때, 파이썬의 set은 자동으로 정렬되지 않는 것을 주의해야 합니다.


코드

def solution(numbers):
    answer = set()

    select_num_list = list(permutations(list(numbers), 2))

    for select_nums in select_num_list:
        answer.add(sum(select_nums))

    # 그냥 list(answer) 할 경우 set을 사용한다 하더라도
    # 자동으로 오름차순으로 정렬되지 않는다!
    return sorted(list(answer))

 

pyo7410/Algorithm

1일 1커밋을 목표로! Contribute to pyo7410/Algorithm development by creating an account on GitHub.

github.com

 

'알고리즘 > 프로그래머스' 카테고리의 다른 글

[Python] 체육복  (0) 2021.02.13
[Python] 모의고사  (0) 2021.02.12
[Python] 완주하지 못한 선수  (0) 2021.02.07
[Python] 신규 아이디 추천  (0) 2021.02.04
[Python] 크레인 인형뽑기 게임  (0) 2021.01.28