본문 바로가기

Python

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

문제

https://school.programmers.co.kr/learn/courses/30/lessons/68644

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

해설

def solution(numbers):
    answer = []
    
    for i,num in enumerate(numbers):
        for j in range(i+1, len(numbers)):
            sum = num + numbers[j]
            if sum not in answer:
                answer.append(sum)
    return sorted(answer)

 

리스트의 처음 인덱스부터 기준 인덱스로 두고 기준 인덱스 다음 위치의 요소들과 더한 값이 answer에 있는지 없는지 판단하여 추가한다.

 

1. numbers 리스트의 index와 요소값을 같이 사용하면서 순회하기 위해 enumerate 사용

2. 이중 for문을 통해 현재 인덱스의 다음 인덱스의 요소와 현재 인덱스의 요소의 합(sum)을 구한다.

3. 만약 answer 리스트에 sum이 존재하지 않는다면, answer에 추가한다.