-
[프로그래머스] 없는 숫자 더하기 Javascript알고리즘 2021. 10. 4. 16:44
문제 내용
배열 (numbers) 는 0 부터 9 까지의 숫자가 주어짐.
배열 안에는 없는 숫자가 존재 (0 ~ 9 중에서)
이 없는 숫자를 모두 더해서 return 해라.
예를 들어,
numbers return [0, 1, 2, 3, 4, 5] 30 (6 + 7 + 8 + 9) 이렇게 푸는 방식이다.
전체 코드
function solution(numbers) { return 45 - numbers.reduce((sum, currentValue) => sum + currentValue); }
먼저 0 부터 9 까지 의 총합 45 (0 + 1 + ... + 8 + 9) 를 구하고
그 값에 numbers 배열의 합을 뺀다.
numbers 배열의 길이가 1보다 크거나 같고 9보다 작거나 같고
numbers 의 모든 수는 0 ~ 9 의 값이며
numbers 의 모든 수는 서로 다르다
라는 조건이 있다.
따라서 위의 식이 성립하는 것이다.
예를 들면,
numbers return [0, 1, 2, 3, 4, 5] 30 numbers 의 합은 (0 + 1 + ... + 4 + 5) 이므로 15 이다.
0부터 9까지의 합은 45 이다.
따라서 45 - 15 는 30 이다.
결론
문제의 조건만 정확하게 읽는다면 쉽게 풀 수 있는 문제.
출처 : 프로그래머스 월간 코드 챌린지 시즌3 없는 숫자 더하기
https://programmers.co.kr/learn/courses/30/lessons/86051코딩테스트 연습 - 없는 숫자 더하기
0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한
programmers.co.kr
'알고리즘' 카테고리의 다른 글
[백준] 배열 돌리기 4 (17406번) Swift (0) 2021.10.07 [프로그래머스] 전력망을 둘로 나누기 (위클리 챌린지 9주차) Javascript (0) 2021.10.05 [프로그래머스] 숫자의 표현 Javascript (0) 2021.10.04 [프로그래머스] 같은 숫자는 싫어 Javascript (0) 2021.10.04 [프로그래머스] 완주하지 못한 선수 Javascript (0) 2021.10.04