공부/코딩테스트

Q. 없는 숫자 더하기

뀨뿌뀨뿌 2023. 6. 16. 13:10

0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.

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

❗입출력 예

number result
[1, 2, 3, 4, 6, 7,8, 0] 14
[5, 8, 4, 0, 6, 7, 9] 6

😀 내가 푼 답

function solution(numbers) {
  let sum = 0;
  for (let i = 0; i <= 9; i++) {
    numbers.includes(i) ? null : (sum += i);
  }
  return sum;
}

😊 문제풀이 답안 OR 다른사람들 답안

function solution(numbers) {
    return 45 - numbers.reduce((cur, acc) => cur + acc, 0);
}

// reduce 다른 버전
function solution(numbers) {
    const allNumbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
    const givenSum = numbers.reduce((acc, curr)=>acc+curr);
    const allSum = allNumbers.reduce((acc, curr)=>acc+curr);
    return allSum-givenSum;    
}

// for문, forEach()
function solution(numbers) {
    var answer = 0;
    
    for(let i = 0; i <= 9; i++){
        answer += i
    }
    
    numbers.forEach((a) => {
        answer -= a;
    })
    

    
    return answer;
}


'공부 > 코딩테스트' 카테고리의 다른 글

Q. 평균 구하기  (0) 2023.06.16
Q. 음양 더하기  (0) 2023.06.16
Q. 문자열을 정수로 바꾸기  (0) 2023.06.16
Q. 두 정수 사이의 합  (0) 2023.06.16
Q. 가운데 글자 가져오기  (0) 2023.06.16