치악산 복숭아
[프로그래머스] Level 1 - 두 개 뽑아서 더하기 본문
문제 설명
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
제한 사항
- numbers의 길이는 2 이상 100 이하입니다.
- numbers의 모든 수는 0 이상 100 이하입니다.
문제 풀이
1. 풀이 과정
이중 for문을 이용해서 모든 경우의 수를 조합하려고 했다. 이중 for문 안에는 같은 위치에 있는 수가 더해지는것을 막기 위해서 i !== j 조건을 걸었다. filter 함수를 이용해서 중복된 수를 제거한 뒤 sort 함수를 이용해서 오름차순으로 정렬했다.
2. 코드
function solution(numbers) {
var answer = [];
for(var i = 0; i<numbers.length; i++) {
for(var j = i+1; j<numbers.length; j++) {
if(i !== j) {
answer.push(numbers[i]+numbers[j]);
}
}
}
answer = answer.filter((item, index) => answer.indexOf(item) === index);
answer.sort(function(a, b) {
return a - b;
})
return answer;
}
'PS:0' 카테고리의 다른 글
[프로그래머스] Level 1 - 완주하지 못한 선수 (0) | 2020.09.15 |
---|---|
[프로그래머스] Level 1 - 크레인 인형뽑기 게임 (0) | 2020.09.15 |
[프로그래머스] Level 1 - 문자열 내 p와 y의 개수 (0) | 2020.08.31 |
[프로그래머스] Level 1 - 가운데 글자 가져오기 (0) | 2020.08.31 |
[프로그래머스] Level 1 - 콜라츠 추측 (0) | 2020.08.31 |
Comments