자릿수 더하기

반즈·2023년 11월 30일

프로그래머스 입문

목록 보기
22/51

문제 설명

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

입출력 예


자바

나의 풀이 (.charAt()) // 숫자 받아올때는 - 48

class Solution {
    public int solution(int n) {
        int answer = 0;
        String tmp = String.valueOf(n);
        int[] num = new int[tmp.length()];
        for(int i = 0; i < tmp.length(); i++){
            num[i] = tmp.charAt(i);
            answer += num[i] - 48;
        }
        return answer;
    }
}

참고 풀이 1 (while과 %를 이용)

class Solution {
    public int solution(int n) {
        int answer = 0;

        while(n>0){
            answer+=n%10;
            n/=10;
        }

        return answer;
    }
}

참고 풀이 2 (Arrays.stream())

import java.util.Arrays;

class Solution {
    public int solution(int n) {
        return Arrays.stream(String.valueOf(n).split("")).mapToInt(Integer::parseInt).sum();
    }
}

참고 풀이 3 (Integer.toString(), Integer.parseInt())

class Solution {
    public int solution(int n) {
        int answer = 0;
        String str = Integer.toString(n);
        String[] arr = str.split("");

        for(int i = 0; i < arr.length; i++) {
            answer += Integer.parseInt(arr[i]);
        }
        return answer;
    }
}

자바스크립트

나의 풀이

function solution(n) {
    var answer = 0;
    
    while(n > 0){
        answer += n % 10;
        n = parseInt(n / 10);
    }
    return answer;
}

참고 풀이 (.toString(), .split(), .reduce())

function solution(n) {
  return n
    .toString()
    .split("")
    .reduce((acc, cur) => acc + Number(cur), 0);
}
profile
나를 채우다

0개의 댓글