[Lv1.]두 개 뽑아서 더하기
문제 : https://programmers.co.kr/learn/courses/30/lessons/68644
🔶내가 한 방법
- 이중 for문을 돌면서 모든 수를 더해봄
- 그 수를 new Set() 객체에 넣어 중복값이 없도록 함
- 그 객체를 새로운 배열로 만들고, sort를 통해 오름차순으로 정렬함.
- 배열을 반환함.
- 방법1
function solution(arr) {
const result = new Set();
for (let i = 0; i < arr.length; i += 1) {
for (let j = i + 1; j < arr.length; j += 1) {
const num = arr[i] + arr[j];
result.add(num);
}
}
return [...result].sort((a, b) => a - b);
}
// 실행코드
console.log(solution([2, 1, 3, 4, 1])); // [2,3,4,5,6,7]
console.log(solution([5, 0, 2, 7])); // [2,5,7,9,12]
- 방법2
function solution(arr) {
const result = [];
for (let i = 0; i < arr.length; i += 1) {
for (let j = i + 1; j < arr.length; j += 1) {
const num = arr[i] + arr[j];
if (result.includes(num)) {
continue;
}
result.push(num);
}
}
return result.sort((a, b) => a - b);
}
// 실행코드
console.log(solution([2, 1, 3, 4, 1])); // [2,3,4,5,6,7]
console.log(solution([5, 0, 2, 7])); // [2,5,7,9,12]
Author And Source
이 문제에 관하여([Lv1.]두 개 뽑아서 더하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jhplus13/Lv1.두-개-뽑아서-더하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)