반응형
문제
한 자리 정수로 이루어진 문자열 num_str이 주어질 때, 각 자리수의 합을 return하도록 solution 함수를 완성해주세요.
정답
function solution(num_str) {
const a = num_str.split('') //문자열을 '' 이용해서 배열로 변환시킨다.
const b = a.map(Number) // 배열에 있는 문자열을 숫자로 변경한다.
return b.reduce((c,d)=>c+d); // 배열의 숫자의 값을 더한다.
}
코드 리펙토링
function solution(num_str) {
return [...num_str].reduce((a, c) => a + +c, 0)
}
// spread 연산자를 이용해 개별 배열 요소로 나눔.
// reduce 함수는 배열의 각 요소를 순회하면서 누적 합을 계산해.
// 여기서 a는 누적값이고, c는 현재 배열 요소를 나타내.
// +c는 현재 배열 요소인 c를 숫자로 변환해. 예를 들어, '1'은 숫자 1로 변환됨.
// a + +c는 현재 누적값 a에 현재 요소 c를 숫자로 변환한 값을 더해.
// 초기값은 0이므로 reduce 함수는 첫 번째 요소부터 시작해 누적 합을 계산해.
// 새로운 배열을 반환하는 메소드
// spread operator, map, filter, slice, reduce
// * splice는 원본데이터를 변경함
반응형
'IT > 자바스크립트 문제 풀이' 카테고리의 다른 글
[자바스크립트] 배열 작은수 5개를 제외한 수 오름차순으로 정렬 (0) | 2024.07.25 |
---|---|
[자바스크립트] 실수를 정수로 바꾸는 방법 (0) | 2024.07.25 |
[자바스크립트] 카운터 만들기 (0) | 2020.12.28 |
[자바스크립트] promp 와 alert 으로 가위바위보 게임 만들기 (0) | 2020.12.01 |
[자바스크립트 문제풀이] 배열 명단에서 중복이름 제거 및 오름차순 정렬하기 (0) | 2020.02.17 |