없는 숫자 더하기

peter.p·2022년 1월 13일

알고리즘

목록 보기
7/10

완성본 1

없는 숫자들의 합만 도출해내면 되기 때문에
(1)0~9까지의 값을 다 더한 후에
(2)제시된 배열의 숫자들을 다 더하고
(3)이 둘을 빼면 되겠다라는 생각을 하게 되었다.

function solution(numbers){
  let zeroToNine = 0
  let sumNumbers= 0
  for (let i=0; i<10; i++){
    zeroToNine += i
  }
  for (let j=0; j<numbers.length; j++){
    sumNumbers += j
  }
  return zeroToNine - sumNumbers
}

완성본 2

1번을 완성하고 나서 splice로도 할 수 있을 거 같은데?? 라는 생각이 들어서 시도해보게 되었다.
splice는 평소에 잘 안썼던 함수라서 이전에 정리해놨던 것들을 다 참고해서 만들었다.

function solution(numbers){
  let zeroToNine = [] // 0~9까지
  let result = 0
  for (let i=0; i<10; i++){
        zeroToNine.push(i)
      }
  for (let j=0; j<numbers.length; j++){  // 0
    if (zeroToNine.indexOf(numbers[j]) >= 0){ // zeroTonine.indexOf(1)
      zeroToNine.splice(zeroToNine.indexOf(numbers[j]), 1)
    }
  }
  for (let k=0; k<zeroToNine.length; k++){
    result += zeroToNine[k]
  }  
  return result
  }
profile
꼭 웹 퍼플리셔가 될거에요

0개의 댓글