| 제출
function solution(numbers) {
const result = [];
for (let i = 0; i < numbers.length; i++) {
for (let j = i + 1; j < numbers.length; j++) {
let sum = numbers[i] + numbers[j];
if (result.indexOf(sum) === -1) {
result.push(sum);
} else {
continue;
}
}
}
return result.sort((a, b) => a - b);
}
| 풀이과정
중복되지 않은 덧셈 결과들을 반환하기 위해서 indexOf 메서드를 사용하였다.
다른 사람의 풀이를 보니, 모든 값을 더해주고 유일한 값을 저장하는 Set 객체로 만들어주는 것도 하나의 방법이었다!
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 result = [...new Set(temp)]
return result.sort((a, b) => a - b)
}
| 개념
String.prototype.indexOf()
- 문자열에서 지정된 요소가 발견되는 첫 번째 인덱스를 반환하고 해당 값이 없으면 -1을 반환한다.
Set
- Set은 중복되지 않은 유일한 값으로 이루어진 콜렉션 객체이다.
- new 연산자로 객체를 생성할 수 있다.
const mySet = new Set();
- size 프로퍼티를 사용하면 Set 객체의 크기를 알 수 있다.
const mySet = new Set([1, 3]);
console.log(mySet.size); // 2
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 예산 - level 1 (javascript) (0) | 2022.09.05 |
---|---|
[프로그래머스] 부족한 금액 계산하기 - level 1 (javascript) (0) | 2022.09.05 |
[프로그래머스] 2016년 - level 1 (javascript) (0) | 2022.09.05 |
[프로그래머스] 가운데 글자 가져오기 - level 1 (javascript) (0) | 2022.08.22 |
[프로그래머스] 같은 숫자는 싫어 - level 1 (javascript) (1) | 2022.08.22 |