[프로그래머스] Lv.1 없는 숫자 더하기 (JS)

아름·2023년 12월 1일
0

알고리즘

목록 보기
15/26

🔎 문제

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

입출력 예


🔓 풀이 과정

고민

1) for문을 쓰면서 numbers의 배열 1부터 9까지 돌리기
2) numbers의 배열에 i가 없다면 더해주기 // include 메소드 사용

나의 풀이

function solution(numbers) {
  let result = 0;
  let a = numbers;

  for (let i = 0; i < 10; i++) {
    if (!a.includes(i)) {
      result += i;
    }
  }
  return result;
}
// 전체 합을 모르는 상황에서도 쓸 수 있음

그 밖의 풀이

function solution(numbers) {
    return 45 - numbers.reduce((cur, acc) => cur + acc, 0);
}
// reduce 메소드 사용
// numbers를 처음부터 다 더하고 45에서 빼줌
// 전체 합을 알고 있는 상황에서는 괜찮은 거 같다

어떻게 이런 생각을 하는 거지.. 감탄함
profile
내 꿈은 개발자

0개의 댓글