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

morecodeplease·2024년 6월 22일
0

프로그래머스

목록 보기
20/22
post-thumbnail

🌭 문제 설명

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

🍗 제한 사항

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

🎁 입출력 예시

  • 입출력 예 #1
    5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다.

  • 입출력 예 #2
    1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다.


😎 나의 풀이

function solution(numbers) {
  let answer = 45 - numbers.reduce((acc, cur) => {return acc + cur});
  return answer;
}
  1. answer는 0부터 9까지 더한 45numbersreduce를 사용해서 누적한값을 빼준다.
  2. answer를 return해준다.

🧵 다른 풀이

function solution(numbers) {
    let answer = 0;

    for(let i = 0; i <= 9; i++) {
        if(!numbers.includes(i)) answer += i;
    }

    return answer;
}
  1. 횟수를 카운트할 answer 생성
  2. while문의 조건으로 num이 1이거나 answer가 500이면 종료
  3. num이 짝수면 2로 나눈 num을 return, 홀수면 num에 3을 곱하고 1을 더한 num을 return
  4. answer에 하나씩 증가
  5. num이 1이면 answer를 return 하고 아니면 -1 return

내가 푼 풀이를 삼항연산자를 이용해서 아주 간단하게 표현한 풀이를 보고 좀 더 간결하게 코드를 작성하는 방법을 생각해 보아야 겠다.

profile
Everyday's a lesson

0개의 댓글