Programmers

[프로그래머스] 두 개 뽑아서 더하기 / Python

개발하는 사막여우 2020. 12. 29. 17:04
반응형

TITLE

문제주소 : programmers.co.kr/learn/courses/30/lessons/12899

 


<문제 설명>

문제 설명

정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.


제한사항

  • numbers의 길이는 2 이상 100 이하입니다.
    • numbers의 모든 수는 0 이상 100 이하입니다.

<풀이법>

▒ 한줄 개념:  중복 제거 후 정렬 ▒ 

아주 기초적인 문제로, 특별한 알고리즘 지식이 필요없는 문제입니다.

  • 이중반복문으로 서로 다른 두 개의 숫자 뽑아내고, 둘을 합친 뒤 정답 배열에 삽입합니다.
  • 정답 배열의 중복을 제거하고 정렬합니다.

파이썬을 이용하여 코딩했기 때문에, 중복 제거를 위해 배열을 set로 변환한 뒤 다시 배열로 변환하여 손쉽게 정렬하였습니다.

 

<코드(Python)>

def solution(numbers):
    answer = []
    for i in range(len(numbers)):
        for j in range(len(numbers)):
            if i == j:
                pass
            else:
                answer.append(numbers[i]+numbers[j])
        
    return sorted(list(set(answer)))

 

 

더 많은 코드 보기(GitHub) : github.com/dwkim-97/CodingTest

 

 

반응형