Salangdung_i의 기록

프로그래머스 : 없는 숫자 더하기 (javascript/js) 본문

WEB FRONT END/JS코딩테스트

프로그래머스 : 없는 숫자 더하기 (javascript/js)

Salangdung_i 2021. 11. 16. 12:38
728x90

문제 설명

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) {
  var answer = -1;
  const exitNumbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
  let correct = [];
  let index;

  for (let i = 0; i < numbers.length; i++) {
    index = exitNumbers.indexOf(numbers[i]);
    correct = exitNumbers.splice(index, 1);
  }
  
  exitNumbers.forEach(e => answer += e);
  return answer;
}

const numbers = [1, 2, 3, 4, 6, 7, 8, 0];
solution(numbers);

처음에 생각할 때 exitNumbers 에서 numbers를 제거해서 합을 구하면 되겠다 생각했었는데 어쩌하 보니까 돌아가게됬다.

https://programmers.co.kr/learn/courses/30/lessons/86051/solution_groups?language=javascript

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

프로그래머스에서 참고한 더 깔끔한 코드

function solution(numbers) { let answer = 0; for (let i = 0; i <= 9; i++) { if (!numbers.includes(i)) answer += i; } return answer; }
728x90