Algorithm/프로그래머스

[프로그래머스 js] 자리수 더하기

양원준 2023. 9. 27. 20:07
728x90

문제

 

정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요

 

 

 

제한사항

 

0<=  n <= 1,000,000

 

 

 

 

 

결과 예

 

1234 -> 10

 

 

 

 

나의 답

 

function solution(n) {
    var answer = 0;
    
    let strN = n.toString().split('').map(Number)
    
    for(var i=0; i<strN.length; i++){
        answer += strN[i]
    }
    
    return answer;
}

 

  1. 입력되는 숫자를 toString()을 이용하여 문자열로 바꾼다
  2. split을 이용하여 문자열을 숫자하나씩 들어가게 배열로 바꾼다
  3. map함수를 이용하여 배열에 들어있는 문자를 숫자로 바꿔 strN에 저장
  4. 반복문을 이용해 배열에 있는 숫자의 총합을 더한다

 

 

 

 

사용한거

toString() -> 숫자형을 문자형으로 변환

var num = 1;
var str = num.toString();

console.log(num); // 1
console.log(str); // "1"

 

 

split -> 문자열을 특정한 구분자로 배열로 저장

const str = "a b c";

const arr = str.split("");

document.writeln(arr.length); // 5
document.writeln(arr[0]); // a
document.writeln(arr[1]); // ' '(space)
document.writeln(arr[2]); // b
document.writeln(arr[3]); // ' '(space)
document.writeln(arr[4]); // c

 

 

map -> 배열의 각 요소를 호출하여 반환값으로 새로운 배열을 만든다

const array1 = [1, 4, 9, 16];
const map1 = array1.map(x => x * 2);
console.log(map1);         // [2, 8, 18, 32]

 

 

728x90