Python/프로그래머스

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

묘걍 2023. 9. 1. 18:48

문제

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


제한사항

  • numbers의 길이는 2 이상 100 이하입니다.
    • numbers의 모든 수는 0 이상 100 이하입니다.

 

내가 생각한 풀이 방법

이중 for문을 돈다

첫 번째 for문은 각각의 요소에 접근한다

두 번째 for문은 해당 요소 +1번째 자리부터 돌면서

해당 요소와 다른 요소의 합을 구하고 그 값을 sum_list에 append 한다.

중복을 제거한다. (set())

오름차순 정렬한다 sorted

 

코드로 구현

def solution(numbers):
    answer = []
    sum_list = []
    for i in range(len(numbers)):
        for j in range(i+1, len(numbers)):
            sum_list.append(numbers[i] + numbers[j])
    unique_list = set(sum_list)
    answer = sorted(unique_list)
    return answer

 

 

다른 사람 풀이