문제 설명
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
제한사항
- numbers의 길이는 2 이상 100 이하입니다.
- numbers의 모든 수는 0 이상 100 이하입니다.
def solution(numbers):
answer = []
answer_set = set()
for i in range(len(numbers) - 1):
for j in range(i+1, len(numbers)):
answer_set.add(numbers[i] + numbers[j])
answer = list(answer_set)
answer.sort()
return answer
- 첫 번째 for문은 리스트의 처음부터 마지막 바로 직전의 원소까지 돌고 두 번째 for 문은 i+1 부터 끝까지 돌게한다. 이렇게 하면 리스트의 각 원소 둘씩 더할 수 있다.
- 이들을 set에 담아서 중복을 제거하였고, list로 만든 후 정렬시켜주었다.
참고
https://programmers.co.kr/learn/courses/30/lessons/68644
'Problem Solving > Programmers' 카테고리의 다른 글
<Level 1> 가운데 글자 가져오기 with 파이썬 (0) | 2021.06.10 |
---|---|
<Level 2> 기능 개발 with 파이썬 (0) | 2021.06.05 |
<Level 1> 완주하지 못한 선수 with 파이썬 (0) | 2021.05.27 |
<Level 3> 입국심사 with 파이썬 (0) | 2021.05.17 |
<Level 2> 멀쩡한 사각형 with 파이썬 (0) | 2021.05.14 |