반응형
문제주소 : 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
반응형
'Programmers' 카테고리의 다른 글
[프로그래머스] 베스트앨범 / Python (Level 3) (0) | 2020.12.30 |
---|---|
[프로그래머스] 스킬트리 / Python (0) | 2020.12.29 |
[프로그래머스] 가장 큰 수 Python (level 2) (2) | 2020.12.27 |
[프로그래머스] 위장 Python (Level 2) (0) | 2020.12.24 |
[프로그래머스] 전화번호 목록 Python (Level 2) (0) | 2020.12.24 |