관리 메뉴

공부기록용

프로그래머스(LV 1. 없는 숫자 더하기) 본문

✍️문제풀기✍️/JS_Programmers school

프로그래머스(LV 1. 없는 숫자 더하기)

과부하가즈아 2023. 6. 16. 23:34

LV 1. 없는 숫자 더하기

https://school.programmers.co.kr/learn/courses/30/lessons/86051

 

프로그래머스

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

programmers.co.kr

문제 설명

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

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

입출력 예

  • numbers = [1,2,3,4,6,7,8,0]
  • result = 14
<해결>
function solution(numbers) {
    var answer = 0;

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

    return answer;
}
console.log(solution([1,2,3,4,6,7,8,0]))

> for문으로 돌아가면서 
> (i)가 없으면 그 i에 해당하는 값을 answer에 더해감

🔴배운거
> .includes() 문자열이 특정 문자열을 포함하는지 확인하는 메서드이다

let numbers = [1,2,3,4,6,7,8,0]
let a = numbers.includes(9)
let b = !numbers.includes(9)
console.log(a) // false_9가 없으니까
console.log(b) // ture_9가 없는데 !로 반대로 출력

function solution(numbers) {
    var answer = -1;
    const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
    const c = numbers.reduce((acc, cur) => {
        return a.includes(cur) ? (acc -= cur) : acc;
    }, 45);
    return c;
}
function solution(numbers) {
    return 45 - numbers.reduce((cur, acc) => cur + acc, 0);
}
Comments