문제 설명
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
제한사항
- numbers의 길이는 2 이상 100 이하입니다.
- numbers의 모든 수는 0 이상 100 이하입니다.
나의 정답
function solution(numbers) {
var answer = [];
for(let i = 0; i < numbers.length; i++){
for(let a = i + 1; a < numbers.length; a++){
answer.push(numbers[i] + numbers[a])
}
}
answer = [...new Set(answer)].sort((a,b)=> a-b);
return answer;
}
문제풀이 프로세스 :
1)배열 내에서 두 개의 수가 전부다 더해지는 경우의 수를 구하기
->for(let i = 0; i < numbers.length; i++){
for(let a = i + 1; a < numbers.length; a++){
answer.push(numbers[i] + numbers[a])
}
}
2)구한배열 내에 중복된 요소를 제거하고, 다시 배열의 형태로 만들어주기
->[...new Set(answer)]
3)배열을 오름차순으로 정렬하기
-> answer = [...new Set(answer)].sort((a,b)=> a-b);
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 약수의 개수와 덧셈 (0) | 2021.05.27 |
---|---|
[프로그래머스] 다트게임 (0) | 2021.05.27 |
[프로그래머스] 키패드 누르기 (0) | 2021.05.22 |
[프로그래머스] 음양 더하기 (0) | 2021.05.20 |
[프로그래머스] 신규 아이디 (0) | 2021.05.18 |