https://programmers.co.kr/learn/courses/30/lessons/68644
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 2개의 수를 뽑아 더해 만들 수 있는 모든 수를 배열에 오름차순으로 담아 반환하는 solution() 함수를 완성하시오
정답률: 68%
권장 시간: 30분
권장 시간 복잡도: O(N^2log(N^2))
출제: 월간 코드 챌린지
제약 조건
def solution(numbers):
answer = []
# 두 수를 선택하는 모든 경우의 수를 반복문으로 구함
for i in range(len(numbers)):
for j in range(i + 1, len(numbers)):
# 두 수를 더한 결과를 새로운 배열에 추가
answer.append(numbers[i] + numbers[j])
# 중복된 값을 제거하고, 오름차순 정렬
answer = sorted(set(ret))
return answer
print(solution([2, 1, 3, 4, 1])) # 반환값 : [2, 3, 4, 5, 6, 7]
print(solution([5, 0, 2, 7])) # 반환값 : [2, 5, 7, 9, 12]
N = 100이므로 시간 복잡도를 이렇게 해도 문제를 푸는데 큰 영향 x