정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
function solution(numbers) {
var answer = [];
var sum =[];
for(let i = 0; i < numbers.length -1; i++){
for(let j = i+1 ; j<numbers.length; j++){
sum = numbers[i] + numbers[j]
if(!answer.includes(sum))
answer.push(sum)
}
}
return answer.sort((a,b)=>a-b);
}
📌 includes
includes() 메서드는 하나의 문자열이 다른 문자열에 포함되어 있는지를 판별하고, 결과를 true 또는 false 로 반환합니다.
📌 다른사람 코드
function solution(numbers) {
const temp = []
for (let i = 0; i < numbers.length; i++) {
for (let j = i + 1; j < numbers.length; j++) {
temp.push(numbers[i] + numbers[j])
}
}
const answer = [...new Set(temp)]
return answer.sort((a, b) => a - b)
}
📌 다른사람 코드 - Set()
Set 객체는 자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있다.
=> 쉽게 말해서 중복된 값이 있다면 하나의 수를 제외한 나머지는 저장되지 않는다는 뜻.
Set 과 Array 변환
mySet = new Set([1, 2, 3, 4]);
mySet2.size; // 4
[...mySet2]; // [1, 2, 3, 4]
↓
let mySet = [...new Set(mySet2)]