알고리즘/JS

없는 숫자 더하기

namu445 2022. 1. 14. 17:43

문제 설명

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

 

제한사항

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

 

입출력 예

numbers result
[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 = 0;
    //답에 더할 수를 입력할 공간
    let array = []
    //numbers와 비교할 문자열
    let samples = [0,1,2,3,4,5,6,7,8,9]
	
    for (let i=0; i<samples.length; i++) {
        //samples의 요소를 비교를 위해 분리
        let sample = (samples[i])
		
        //0부터 9까지 수중에 numbers에 있는 수인지 확인 includes 함수를 사용한다.
        if (numbers.includes(sample)) {
        //있으면 그냥 넘어감
        } else {
        	//없으면 없는 수를 array에 저장
            array.push(sample)
        }

    }
	
    //array의 요소를 모두 더하기
    for (let i=0; i<array.length; i++) {
        answer += array[i];
    }

    return answer;
}

//includes와 filter를 같이 사용하면 쉽게 두 배열의 차집합과 교집합을 구할 수 있다는 듯 더 공부해야지

 

include와 filter를 같이 사용하는 예시: https://soft91.tistory.com/84

 

[Javascript] 두 배열의 대한 비교 방법

[Javascript] 두 배열의 대한 비교 방법 실무에서나 알고리즘의 대한 공부를 할 때 두 배열의 대한 비교나 교집합(Intersection), 차집합(Difference)은 정말 많이 사용되는 것 같다. 특히 알고리즘을 풀

soft91.tistory.com

MDN includes 문서: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/includes

 

Array.prototype.includes() - JavaScript | MDN

includes() 메서드는 배열이 특정 요소를 포함하고 있는지 판별합니다.

developer.mozilla.org

참고: https://7942yongdae.tistory.com/49

 

Javascript - Array filter 사용법

이번에는 Javascript의 array가 가진 filter 함수의 정의와 사용법 더불어 활용법에 대해 이야기해보려고 합니다. array의 함수 중 가장 많이 쓰이는 함수 중 3 대장이라고 할 수 있는 것이 map, filter, reduc

7942yongdae.tistory.com

 

'알고리즘 > JS' 카테고리의 다른 글

평균 구하기  (0) 2022.01.14
음수 양수 더하기  (0) 2022.01.14
문자열을 정수로 바꾸기  (0) 2022.01.14
두 정수 사이의 합  (0) 2022.01.14
짝수와 홀수  (0) 2022.01.14