문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요.
function solution(my_string) {
let arr = my_string.match(/\d/g)
let numbers = arr.map(n=>Number(n))
return numbers.reduce((a,b)=>a+b);
}
나름 정규표현식을 활용해서 깔끔하게 풀었다
function solution(my_string) {
return [...my_string].reduce((acc,cur)=>Number(cur) ? +acc + +cur : acc, 0)
}
다른 글에서 .reduce() 안에 Number()으로 숫자형으로 바꾸면서 누적값을 계산하는 것을 보았을 때도
저렇게 생각할 수 있구나 싶었는데 이번 문제에서는
삼항연산자로 누적값을 계산할 때의 식을 선택적으로 하게 만들었기에
이렇게도 만들 수 있구나 싶어서 일단 기록하려고 한다
'오늘 뭐했냐 > 기억하면 좋을 문제들' 카테고리의 다른 글
| 모스 부호 (0) | 2023.06.13 |
|---|---|
| 배열 복사, indexOf (0) | 2023.06.13 |
| 자릿수 더하기 - 숫자를 각 자리마다 배열에 담기 (0) | 2023.05.31 |
| 배열의 유사도 - .filter() / .includes() 활용 복습 및 Set형 활용 (0) | 2023.05.30 |
| 짝수는 싫어요 - Array.from() 활용 (0) | 2023.05.30 |