[level 1] 없는 숫자 더하기
문제 설명
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 해야 합니다.
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
나의 풀이
function solution(numbers) {
let answer = 0;
for(let i = 0; i < 10; i++) {
if(!numbers.includes(i))
answer += i;
}
return answer;
}
For문과 if을 사용해서 풀었다. for문으로 어디까지 더해줄지 범위를 정해준 후 if를 사용해서 numbers에 포함되어있지 않는 i를 모두 더해주라는 코드를 짰다. includes는 포함되어 있는 문자를 나타내어준다.
다른 사람 풀이
function solution(numbers) {
return 45 - numbers.reduce((cur, acc) => cur + acc, 0);
}
이렇게 전체합을 이용해서 reduce 함수를 이용해서 푼 사람도 있다. 와... 세상엔 진짜 대단한 사람들이 많은 것 같다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce
'알고리즘 > lv 1' 카테고리의 다른 글
JS 알고리즘 Lv.1 평균 구하기 (0) | 2023.06.16 |
---|---|
JS 알고리즘 Lv.1 음양 더하기 (0) | 2023.06.16 |
JS 알고리즘 Lv.1 두 정수 사이의 합 (0) | 2023.06.16 |
JS 알고리즘 Lv.1 가운데 글자 가져오기 (0) | 2023.06.16 |
JS 알고리즘 Lv.1 짝수와 홀수 (0) | 2023.06.16 |