Python/Programmers

[Python/Programmers/Level 1] 두 개 뽑아서 더하기

아웃라이어_ 2020. 9. 30. 23:56

출처 : programmers.co.kr/learn/courses/30/lessons/68644

 

코딩테스트 연습 - 두 개 뽑아서 더하기

 

programmers.co.kr

* 이 포스팅은 Programmers 코딩 테스트 연습 Level 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]

# 코드 설명

1
2
3
4
5
6
7
8
def solution(numbers):
    answer = []
    
    for i in range(len(numbers)):
        for j in range(i+1len(numbers)):
            answer.append(numbers[i] + numbers[j])
    
    return sorted(set(answer))
cs

 

  • answer : 두 수들의 합을 저장하는 변수입니다.

  • for i in range(len(numbers)):
         for j in range(i+1, len(numbers)):
               answer.append(numbers[i] + numbers[j]) 

    • 두 수들의 합을 answer 변수에 저장합니다.

  • sorted(set(answer)) :

    • answer 리스트에서 중복을 제거하기 위해 set( ) 을 사용합니다.

    • sorted( ) 함수를 사용해서 리스트를 오름차순 정렬합니다.