🔖_Problem Solving/프로그래머스

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

쩡지 2021. 7. 8. 10:55
난이도 : 1단계
사용 언어 : 파이썬

 

문제

정수 배열 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]

 


Code

def solution(numbers) : 
    answer =[]
    for i in numbers :
        for j in range(numbers.index(i)+1,len(numbers)) : 
            hap = i + numbers[j]
            if hap in answer : 
                continue
            answer.append(hap)
    answer.sort()
    return answer

 

Point

- range() : range(start,stop,step) start = 0, step=1이 default이다. 

지정한 범위의 연속된 정수를 반환해준다.

 

- list.sort() : 기본 오름차순 정렬된다. 매개변수 reverse=True : 내림차순 정렬 

기존 리스트가 변경되기 때문에 가급적 sorted를 사용한다

 

- sorted() 함수는 리스트가 아니더라도 이터러블한 객체 모두 받을 수 있다. 딕셔너리 등..