이챙의 개발 log
[프로그래머스] javascript | Level1 없는 숫자 더하기
﹒2022. 3. 7.
문제
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다.
numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
[제한사항]
- 1 ≤ numbers의 길이 ≤ 9
-
0 ≤ numbers의 모든 원소 ≤ 9
numbers의 모든 원소는 서로 다릅니다.
[입출력 예]
입출력 예 #1
5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다.
입출력 예 #2
1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다.
문제해석(내 생각)
배열에서 없는 수를 구해야하기 때문에 반복문을 사용
reduce 생각을 고민해봤으나 머리가 거기까지 안돌아가서 for문 사용함 ㅋㅋㅋ,,,
문제풀이
function solutions(numbers){
let num = 0
for(let i = 0; i <= 9; i++){
if( !numbers.includes(9 - i) ){
num += 9 - i
}
}
}
solutions([1,2,3,4,6,7,8,9])
총 원소가 9개고 배열에 0 ~ 9 까지 들어있기 때문에 반복문으로 배열을 돌면서 값 확인
9 에서 i 값을 뺏을경우 numbers에 포함되지 않는 값이 나온다.
포함되지 않는 값이 나올경우 변수 num에 누적 처리
- 규칙
9 - 0 = 9
9 - 1 = 8
9 - 2 = 7
9 - 3 = 6
9 - 4 = 5
9 - 5 = 4
9 - 6 = 3
9 - 7 = 2
9 - 8 = 1
9 - 9 = 0
9 - 9 = 0
* reduce 활용법
function solution(numbers) {
return 45 - numbers.reduce((cur, acc) => cur + acc, 0);
}
reduce 활용하려다 머리 안돌아가서 안했는데 다른사람 풀이보니까 쉽게해놨다 역시,, 난 여기까진가보오 ..ㅋ ㅠㅠㅠ
'알고리즘' 카테고리의 다른 글
[프로그래머스] javascript | Level1 삼총사 (⭐️백트래킹으로 풀어보기) (0) | 2023.09.22 |
---|---|
[프로그래머스] javascript | Level1 폰켓몬 (0) | 2023.09.12 |
[백준 / js] 2231 분해합 (0) | 2023.08.29 |
[프로그래머스] javascript | Level1 소수 찾기 (0) | 2021.03.29 |
[프로그래머스] javascript | Level1 예산 (0) | 2021.02.10 |
이챙(leechaeng)
프론트엔드 개발도 하고 뛰기도 하고