문제 설명
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
내 코드
function solution(numbers) {
var answer = [];
for (let i = 0; i < numbers.length - 1; i++) {
for (let j = i+1; j < numbers.length; j++) {
let sum = numbers[i] + numbers[j];
if(answer.indexOf(sum) == -1) answer.push(sum);
}
}
console.log(answer.sort((a,b)=>a-b));
return answer.sort((a,b)=>a-b);
}
다른 사람 풀이
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 은 중복제거 기억하자
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 1단계]최소직사각형 (0) | 2022.02.17 |
---|---|
[프로그래머스 2단계] 짝지어 제거하기 (0) | 2022.02.17 |
[프로그래머스 1단계] 문자열 압축 (0) | 2022.02.16 |
[프로그래머스 1단계] 예산 (0) | 2022.02.15 |
[프로그래머스 1단계] 약수의 개수와 덧셈 (0) | 2022.02.15 |