본문 바로가기

Algorithm/프로그래머스 연습 문제

프로그래머스 / 코딩 테스트 / 두 개 뽑아서 더하기

문제 설명

 

문제 해결

 

이중 반복문과 집합 자료형의 특징을 이용하면 쉽게 풀 수 있다고 판단했다.

(중복을 허용하지 않는 특징)

각 반복문마다 어떤 원소와 원소를 더해야하는지 색깔로 표기해봤다.

 

어떤 원소를 반복해서 더해야하는가?

 

서로 다른 인덱스를 더해서 집합에 연산한 결과를 추가하도록 만들었다.

반환 값을 list 형태로 오름차순 정렬하여 반환해야 된다는 사항만 잊지 않으면 된다.

 

def solve(numbers):
    res = set()
    for i in range(len(numbers)):
        for j in range(i+1, len(numbers)):
            res.add(numbers[i] + numbers[j])
    res = list(res)
    res.sort()
    return res

def solution(numbers):
    answer = solve(numbers)
    return answer