Notice
Recent Posts
Recent Comments
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Today
Total
관리 메뉴

차차로그

[JS] 월간 코드 챌린지 시즌3 > 없는 숫자 더하기 본문

코딩테스트

[JS] 월간 코드 챌린지 시즌3 > 없는 숫자 더하기

차차한 2022. 8. 12. 12:59

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} 로 적든지 해야했다..ㅎㅎ

그래도 잘 풀어서 기분이 좋다

다른 사람 문제 풀이도 내꺼와 유사했다.

Comments