다재다능 개발자 성장기 🚀
[자바스크립트 알고리즘] - 두 개 뽑아서 더하기 본문
문제 설명
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
제한사항
- numbers의 길이는 2 이상 100 이하입니다.
- numbers의 모든 수는 0 이상 100 이하입니다.
풀이
function solution(numbers) {
let a = [];
for(let i=0; i<numbers.length; i++){
for(let j=i+1; j<numbers.length; j++){
a.push(numbers[i]+numbers[j])
}
}
const result = [...new Set(a)];
return result.sort((a,b)=>a-b)
}
1. 이중 for문을 사용하여 배열안의 값들을 모두 서로 더해준다.
2. 이때, 문제에서 '서로 다른 인덱스'에 있는 두 개의 수를 뽑으라는 말을 참고하여 j는 i+1 인덱스부터 시작하게 한다.
3. a 배열안에 더해준 값들을 모두 담아주고, [...new Set(a)]를 사용하여 중복값을 없에준다.
4. 마지막으로 오름차순으로 정렬하여 반환해준다.
'알고리즘(JS)' 카테고리의 다른 글
[자바스크립트 알고리즘] - 모의고사 (0) | 2022.06.15 |
---|---|
[자바스크립트 알고리즘] - 로또의 최고 순위와 최저 순위 (0) | 2022.06.15 |
[자바스크립트 알고리즘] - 같은 숫자는 싫어 (0) | 2022.06.13 |
[자바스크립트 알고리즘] - 최소직사각형 (0) | 2022.06.13 |
[자바스크립트 알고리즘] - 3진법 뒤집기 (0) | 2022.06.13 |