없는 숫자 더하기 (javascript)

weffa·2022년 3월 17일
0

문제설명

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

문제풀이

function solution(numbers) {
  let answer = 0
  for (let i = 0; i < 10; i++ ) {
    if (numbers.indexOf(i) === -1) {
      answer += i
    }
  }
  return answer
}
  1. 제한사항에 numbers의 모든 원소는 서로 다르다고 나와있기 때문에 indexOf()를 통해 배열에서 없는 정수를 찾을 수 있다.
  2. for 반복문을 이용해 0부터 9까지의 정수중 없는 값을 찾아 다 더해주었다.

다른풀이

function solution(numbers) {
  let answer = 45
  for (let i = 0; i < numbers.length; i++ ) {
    answer -= numbers[i]
  }
  return answer
}
  1. 제한사항을 조합해 보면 answer의 최대 값은 numbers가 [0]일때 45가 된다.
  2. answer의 초기값을 45로 선언한 후 numbers의 값들을 모두 빼주면 원하는 답이 나온다.

0개의 댓글