0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
1 ≤ numbers의 길이 ≤ 9
0 ≤ numbers의 모든 수 ≤ 9
numbers의 모든 수는 서로 다릅니다.
5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다.
1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다.
function solution(numbers) {
const numArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
let answer = 0;
numArr
.filter((num) => !numbers.includes(num))
.forEach((num) => (answer += num));
return answer;
}
바~~로 : 100점
처음 접근은 forEach로 돌려서 같은거 제외 시키고 남기자! 했는데 남기는건 역시 filter!
function solution(numbers) {
return 45 - numbers.reduce((cur, acc) => cur + acc, 0);
}
없는 수들의 합을 구하면 되니.. 있는 수들을 총합에서 빼주면 간단..
항상 이마를 탁.. 이것도 있네..
더 간단하고 좋은 풀이를 찾는 것도 좋지만 내 풀이 처럼 순서가 필요할 수도 있다고 생각한다!
function solution(numbers) {
const numArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
let answer =
numArr
.filter((num) => !numbers.includes(num))
.reduce((prev, cur)=> prev + cur);
return answer;
}