# 문제 원문
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 |
# 문제 풀이
입력받은 numbers는 0부터 9 사이의 숫자들로 이루어진 배열이다. 해당 배열에서 0부터 9까지의 숫자 중 없는 숫자들의 합을 구하는 간단한 문제로 0부터 9까지의 합을 구한 후 그 합에서 입력받은 numbers의 요소를 빼주면 된다.
0부터 9 까지 합은 45다. 굳이 아래처럼 일일이 만들어서 계산할 필요까지는 없다. 나는 계산하기 귀찮아서 그냥 만들었다.
# 솔루션 플로우
1. 0-9까지의 수의 총합 total(45)을 구한다.
2. 입력 받은 numbers를 순회하면서 각 요소를 total에서 제해준다.
3. 얻어진 result를 반환한다.
1. FP
function solution(numbers) {
const total = new Array(10).fill(true)
.map((_, idx) => idx)
.reduce((result, num) => result + num);
return numbers.reduce((result, current) => result - current, total);
}
반응형
'개발 > 알고리즘' 카테고리의 다른 글
[프로그래머스][LEVEL1] 최소직사각형 (0) | 2021.11.14 |
---|---|
[프로그래머스][LEVEL1] 나머지가 1이 되는 수 찾기 (0) | 2021.11.14 |
[프로그래머스][LEVEL2] 메뉴 리뉴얼 (0) | 2021.11.11 |
[프로그래머스][LEVEL2] 멀쩡한 사각형 (0) | 2021.11.11 |
[프로그래머스][LEVEL2] [카카오 인턴] 수식 최대화 (0) | 2021.11.08 |