ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Javascript 숫자의 모든 자릿수 합계 (Sum of digits)
    Javascript/Codewars 2019. 3. 30. 02:12
        sumDigits(15)
        => 1 + 5
        => 6
    
        sumDigits(357)
        => 3 + 5 + 7    // 15
        => 1 + 5        // 6
        => 6
    
        sumDigits(123456)
        => 1 + 2 + 3 + 4 + 5 + 6    // 21
        => 2 + 1                    // 3
        => 3

    solution

    • eval(), split(), toString() 메서드 사용
        function sumDigits(num){
            /*
             * 이렇게 해도 된다.
             * num = num.toString().split("").reduce((x,y) => parseInt(x) + parseInt(y));
             * 매개변수 num(숫자타입)을 문자열로 출력한 후 split으로 쪼개어 더해준다.
             */
            num = eval(num.toString().split("").join("+"));
            // num이 9보다 크면
            if(num > 9){
              // 재귀 호출
              return sumDigits(num);
            }
            return num;
        }

    'Javascript > Codewars' 카테고리의 다른 글

    Javascript 두 배열의 합 (Matrix Addition)  (0) 2019.03.29

    댓글

Designed by Tistory.