공부용

[JavaScript] 없는 숫자 더하기 본문

알고리즘

[JavaScript] 없는 숫자 더하기

고딕짱! 2022. 2. 21. 16:35

문제 설명

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


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

입출력 예numbersresult
[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(numbers) {

  let arr = Array(10).fill(false); // 10개의 공간을 false로 채운다
  let result = 0;
  for(let i in numbers) {
    arr[numbers[i]] = true;
  }

  for(let i in arr) {
    if(!arr[i]) {
      result += parseInt(i);
    }
  }

  return result;
}

 

// 답을 보고 다르게 푼 풀이

// 1. Arrays.includes

function solution(numbers) {

  let result = 0;
  for(let i=0; i<10; i++) {
    if(!numbers.includes(i)) result += parseInt(i);
  }

  return result;
}

 

// 2. Arrays.reduce

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

 

자바스크립트 너무 어렵다!

'알고리즘' 카테고리의 다른 글

[JavaScript] 약수의 개수와 덧셈  (0) 2022.02.21
[JavaScript] 음양 더하기  (0) 2022.02.21
[JavaScript] 로또의 최고 순위와 최저 순위  (0) 2021.05.08
[C] 스택구현  (0) 2021.04.25
[Java] 비밀지도  (0) 2021.04.25
Comments