Algorithm/1일 1코테

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

대인보우 2020. 9. 20. 22:35
반응형

문제

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

 

입출력 예

numbers                                                                  result

[2,1,3,4,1] [2,3,4,5,6,7]
[5,0,2,7] [2,5,7,9,12]

 

내 답

def solution(numbers):
    answer = []
    
    for i in range(0, len(numbers)-1):
        for j in range(i+1, len(numbers)):
            a = numbers[i] + numbers[j]
            
            if a not in answer:
                answer.append(a)
    answer = sorted(answer)
    
    return answer

알고리즘

1. 입력받은 리스트의 첫 숫자와 그 뒤 숫자를 하나씩 더한다

(ex. 1,2,3,4,5 일때 1과 2,3,4,5 / 2와 3,4,5/ 3과 4,5 / 4와 5)

2. 중복이 없어야하기 때문에 두 개 더한 값이 answer에 없을때 append 해준다.

3. 마지막으로 정렬해서 출력한다. 

반응형