한 걸음씩 기록하며

[프로그래머스 코딩테스트] 없는 숫자 더하기 본문

알고리즘 & 코딩테스트

[프로그래머스 코딩테스트] 없는 숫자 더하기

Haksae 2022. 1. 14. 22:22

[없는 숫자 더하기]

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

 

⛏제한 조건

  • 1 ≤ numbers의 길이 ≤ 9
  • 0 ≤ numbers의 모든 수 ≤ 9
  • numbers의 모든 수는 서로 다릅니다.

 

📁 입출력 예시

 

👉🏻  답안

1) for문으로 직접적으로 대조하여 answer에 값 더하기

function solution(numbers) {
  let answer = 0;
  for (let i = 0; i < 10; i++) { // for문으로 0~10까지 반복하고 
    if (!numbers.includes(i)) {  // 배열 안에 i값이 들어있는지 확인하여
      answer += i;               // 들어있지 않다면 answer에 i값을 더한다.
    }
  }
  return answer;
}

2) for문으로 합을 구한 후 계산하기

function solution(numbers) {
  let sum = 0;
  for (let i = 0; i < 10; i++) {
    sum += i;                    // for문으로 0~10까지 합계를 구한다.
  }

  let arrSum = 0;
  for (let i = 0; i < numbers.length; i++) { // for문으로 배열 안에 모든 값의 합계를 구한다.
    arrSum += numbers[i];
  } return sum - arrSum;         // 두개를 계산하여 리턴
}

 

📑  간단한 설명

문제를 보고 위에서 말한 두 가지 방법이 가능할 것 같았습니다.

.includes() 함수는 배열 안에 파라미터와 같은 값이 있는지 찾고, boolean 형으로 리턴하는 함수입니다.

 

 

 

 

 

Comments