차차로그
[JS] 월간 코드 챌린지 시즌3 > 없는 숫자 더하기 본문
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다.
numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
function solution(numbers) {
return 45 - numbers.reduce((acc,val)=>acc + val,0)
}
이번 문제는 좀 쉽게 느껴졌다
직전 문제로 reduce를 사용해봐서 그런가 이번에도 딱 reduce를 쓰면 되겠다는 생각이 들었다.
numbers 배열은 0~9까지 숫자가 중복되지 않게 들어가 있으니 최대 합계는 45가 나온다.
이 중 없는 숫자를 찾아 그 합을 구하면 되니 45에서 없는 수자의 합을 빼주면 된다.
여기까지는 생각이 들어서 괜찮았는데 막상 reduce를 구현하는데 자꾸 오류가 났다.
acc가 계속 undefined가 떠서 왜이런가 찾아보니 return을 명시하지 않아서 오류가 난 거였다.
화살표 함수에서 한 줄 리턴은 return을 명시하지 않아도 된다했던 거 같은데 왜 오류가 발생할까..찾아보니
=> { } 이렇게 중괄호를 작성했다면 return을 꼭 적어줬어야 했다!
(acc, val) => acc + val로 적든, (acc, val) => {return acc+val} 로 적든지 해야했다..ㅎㅎ
그래도 잘 풀어서 기분이 좋다
다른 사람 문제 풀이도 내꺼와 유사했다.

'코딩테스트' 카테고리의 다른 글
[JS] 월간 코드 챌린지 시즌1 > 두 개 뽑아서 더하기 (0) | 2022.08.12 |
---|---|
[JS] 월간 코드 챌린지 시즌1 > 내적 (0) | 2022.08.12 |
[JS] 월간 코드 챌린지 시즌2 > 음양 더하기 (0) | 2022.08.12 |
[JS] 2021 Dev-Matching: 웹 백엔드 개발자(상반기) > 로또의 최고 순위와 최저 순위 (0) | 2022.08.05 |
[JS] 2021 카카오 채용연계형 인턴십 > 숫자 문자열과 영단어 (0) | 2022.08.05 |
Comments