본문 바로가기
코딩테스트

자릿수 더하기 / Javascript [프로그래머스 Level1]

by 쎄정 2022. 4. 29.
728x90
반응형

목차

     

    접속 링크

    https://programmers.co.kr/learn/courses/30/lessons/12950?language=javascript

     

    코딩테스트 연습 - 자릿수 더하기

    자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출

    programmers.co.kr

     

    문제 설명

    자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
    예를 들면 N = 123이면, 1+2 + 3 = 6으로 리턴

     

    출력

    N = 123
    answer = 6

     

     

     

    풀이 설명

    숫자 n를 문자열로 변환후 slipt하여 [1], [2], [3]으로 분류후 for문으로 각 수를 더했다.

    더할 시 paseInt 적용하였다.

     

    풀이 코딩

    function solution(n)
    {
        var answer = 0; 
        var SUM = n.toString();
    
        var sum = SUM.split('');
        console.log(sum);
    
        for(let i = 0; i<sum.length; i++){
            answer += parseInt(sum[i]);
        }
        return answer;
    }

     

    경이로운 타인의 풀이 코딩

    (개인 공부용으로 클론코딩 해봅니다.)

    reduce, 배열의 각 요소를 순회하여 callbak 함수의 실행값을 누적해 하나읠 결과값을 반환한다.

    function solution(n)
    {
        var answer = 0;
        return n.toString().split('').map(Number).reduce((sum, val) => {
            return sum + val
        })
    	// n을 문자열로 만들어 각 배열로 나눈다.
        // 배열의 각 요소를 숫자로 변환한다.
        // reduce로 sum = 1, val = 3 까지 순회한다.
        // return sum + val 더한 값을 리턴한다.
    }
    728x90
    반응형

    댓글