코딩테스트 연습 - 두 개 뽑아서 더하기
정수 배열 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 |