티스토리 뷰
728x90
https://programmers.co.kr/learn/courses/30/lessons/68644
코딩테스트 연습 - 두 개 뽑아서 더하기
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한
programmers.co.kr
- 해설 :
숫자들로 이루어진 배열이 주어질 때, 각 요소들을 두 개씩 뽑아서 더한 모든 결괏값을 오름차순으로 정렬해서 출력하는 문제이다.
- 풀이 :
for 문을 이중으로 사용하여 요소를 두 개 뽑아서 더한 결괏값을 배열에 넣고 중복을 제거하기 위해 set으로 변환시키고 이를 오름차순으로 정렬하여 출력하면 된다. itertools의 permutation을 사용해도 똑같은 결과가 나올 것 같다.
1 2 3 4 5 6 | def solution(numbers): answer = [] for i in range(len(numbers)): for j in range(i+1,len(numbers),1): answer.append(numbers[i]+numbers[j]) return sorted(list(set(answer))) | cs |
320x100
'Algorithm > Implementation' 카테고리의 다른 글
(Python) - 프로그래머스(2018 KAKAO BLIND RECRUITMENT) : [1차] 비밀지도 (0) | 2022.01.21 |
---|---|
(Python) - 프로그래머스 : 모음사전 (0) | 2022.01.21 |
(Python) - 프로그래머스 : 괄호 회전하기 (0) | 2022.01.20 |
(Python) - 프로그래머스(2020 카카오 인턴십) : 보석 쇼핑 (0) | 2022.01.20 |
(Python) - 프로그래머스 : 전화번호 목록 (0) | 2022.01.19 |
댓글
© 2022 WonSeok, All rights reserved