0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
1 ≤ numbers의 길이 ≤ 9
0 ≤ numbers의 모든 원소 ≤ 9
numbers의 모든 원소는 서로 다릅니다.
모든 값이 false인 10개짜리 배열을 만들고 numbers에 있는 값에 해당하는 index의 값을 true 만든다.
reduce() 메소드를 이용.
만든 배열을 순회하면서 false면 해당 index를 더한 값을 return 한다.function solution(numbers) { let arr = new Array(10).fill(false); numbers.forEach(value=>{ if(arr[value] === false) arr[value] = true; }) return arr.reduce((acc, isContain, index) => isContain ? acc : acc+index,0); }
numbers의 값이 중복되지 않고 numbers의 길이가 1~9, 값 범위가 1~9까지 이므로
나올 수 있는 값의 최대 값이 45 인 점을 이용하여 풀이했다.function solution(numbers) { return 45 - numbers.reduce((acc, cur) => acc + cur, 0); }