프로그래머스에서 제공하는 코딩 테스트를 풀어보자!
문제는 여기 들어가서 확인하면 된다.
function solution(numbers) {
let num = []
for(let i=0; i<numbers.length; i++){
for(let j = 0; j<numbers.length; j++){
if( i != j) // 서로 다른 인덱스에 있는 두 개의 수
num.push(numbers[i]+numbers[j]);
}
}
var answer = [...new Set(num)]
return answer.sort((a,b)=> a - b)
}
문제를 읽어보면 배열 속에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아야 한다.
때문에 for문을 두번 돌려 각각의 숫자를 numbers 배열의 키값으로 사용하는데, 이때 i와 j가 동일하면 안 된다.
해서 if문을 추가해서 i != J 일 때 값을 받아내거나 아니면 j = i+1로 정의해 동일한 인덱스 값이 되는걸 피해준다.
function solution(numbers) {
let num = []
for(let i=0; i<numbers.length; i++){
for(let j = i+1; j<numbers.length; j++){
// 서로 다른 인덱스에 있는 두 개의 수
num.push(numbers[i]+numbers[j])
}
}
var answer = [...new Set(num)]
return answer.sort((a,b)=> a - b)
}
그렇게 뽑힌 각각의 수를 더해 변수 num에 넣어준다.
마지막에 정렬해주면 끝!
728x90
'coding test' 카테고리의 다른 글
node.js readline 예제 (0) | 2022.06.18 |
---|---|
[자바스크립트] 없는 숫자 더하기 - 프로그래머스 (0) | 2022.03.17 |