Q. 정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요
ex) 입출력 예시
| n | result |
| 1234 | 10 |
| 930211 | 16 |
Thiking Process
각 자리 숫자의 합이면 reduce인데,, reduce는 배열 메서드이니 입력받은 n을 찢어서 배열로 만들어줘야겠는데 ? 찢는 역할을 하는게 split인데 얘는 string 메서드고,, n을 아예 string으로 바꿔서 split으로 찢어 배열로 만들고 이걸 reduce 하자 !
Code
case 1)
function solution(n) {
return JSON.stringify(n)
.split('')
.reduce((acc, curr) => acc + Number(curr), 0);
}
case2)
function solution(n) {
return JSON.stringify(n)
.split('')
.map((el) => parseInt(el))
.reduce((acc, curr) => acc + curr);
JSON.stringfy가 아니더라도 toString() 메서드를 이용해서 풀 수도 있다.
한 가지 의외였던 점은 case1은 0.7초, case2는 0.5초가 나왔다.
아무래도 더함과 동시에 형변환을 해주는게 좀 더 걸리나부다
'Algorithm Solution > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] 주사위의 개수 (0) | 2023.01.25 |
|---|---|
| [프로그래머스] 가위 바위 보 (0) | 2023.01.24 |
| [프로그래머스] 암호해독 (0) | 2023.01.24 |
| [프로그래머스] 세균 증식 (0) | 2023.01.24 |
| [프로그래머스] 제곱수 판별하기 (0) | 2023.01.19 |
