본문 바로가기
혼자 공부하는 것들/알고리즘

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

by applepick 2021. 2. 21.
반응형

으아아아 내일 코딩테스트.....

 

문제 설명

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


제한사항

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

입출력 예

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):
    result=[]
    for i in range(len(numbers)-1):
        for j in range(len(numbers)):
            if i != j:
                result.append(numbers[i]+numbers[j])   
    result = list(set(result))
    return result

필자는 직관적으로 누가봐도 알아볼 수 있도록 풀고 싶다... 더 열심히해야지.... 선택정렬으로 모두 값을 더해주고 set으로 중복된값을 지운뒤 다시 list로 바꿔서 출력했다.! 끝! 선택정렬을 사용했으니 시간복잡도는 O(n^2)이 될것이당.!

반응형

댓글