알고리즘 (프로그래머스)

없는 숫자 더하기 js (includes, !num)- 프로그래머스 LV1

MotherCarGasoline 2022. 5. 19. 00:04

문제 설명

0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. 

numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.


제한사항
  • 1 ≤ numbers의 길이 ≤ 9
    • 0 ≤ numbers의 모든 원소 ≤ 9
    • numbers의 모든 원소는 서로 다릅니다.

 

입출력 예
numbers                                                                                                           result
[1,2,3,4,6,7,8,0] 14
[5,8,4,0,6,7,9] 6

입출력 예 설명

입출력 예 #1

  • 5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다.

입출력 예 #2

  • 1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다.
function solution(num) {
    
    let answer = 0;

    for(let i=0; i<10; i++){
        if(!num.includes(i)) answer += i;   // i에 for(0~9)중에서 !없는수를 answer에 더해준다
    }
    return answer;
}        // array.includes() 배열에 ()값이 들어있으면 true/false

function solution(numbers) {
    return 45 - numbers.reduce((cur, acc) => cur + acc);
}   // 0~9까지의 합이 45 이기 때문에 [45-(numbers)]하면 없는 수의 합이 된다. 미쳤다
// array.reduce() 하나의 결과값을 반환한다 / cur 누산기, acc 현재값 = 배열 모든 값 합산


let numbers = [5,8,4,0,6,7,9]; //vsc 문제
console.log(solution(numbers)); // 6