문제 설명 |
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. |
제한 사항 |
1 ≤ numbers의 길이 ≤ 9 0 ≤ numbers의 모든 원소 ≤ 9 numbers의 모든 원소는 서로 다릅니다. |
내 풀이
function solution(numbers) {
var answer = 0;
for (let i=1; i<=9; i++){ //i를 비교값인 1~9숫자로 반복문 돌림
if (numbers.includes(i)===false){ //numbers에 i가 포함되지 않는다면
answer = answer + i //answer에 해당 i값 더함
}
}
return answer;
}
다른사람의 깔끔한 풀이
function solution(numbers) {
return 45 - numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
}
배열.reduce((누적값, 현재값, 인덱스, 요소) => {return 결과}, 초깃값)
위에선 인덱스, 요소 안쓰고 return 에 accumulator + currentValue 더함.