[오늘의 문제] 자릿수 더하기

shlim55·2025년 6월 23일

코딩테스트

목록 보기
86/223

출처: https://school.programmers.co.kr/learn/courses/30/lessons/12931

문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

제한사항
N의 범위 : 100,000,000 이하의 자연수
입출력 예
N answer
123 6
987 24
입출력 예 설명
입출력 예 #1
문제의 예시와 같습니다.

입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.

내가 작성한 코드문

public class Solution {
    public int solution(int n) {
        int answer = 0;
        
        String str = String.valueOf(n);//String.valueOf로
        
        for(int i = 0; i < str.length(); i++){
            answer += str.charAt(i) - '0';//문자를 정수로 변환
        }

        return answer;
    }
}

전에 풀었던 문제랑 비슷한 문제다.

정수를 문자열로 변환후

각 자릿수를 문자->정수로 치환후 answer 변수에 더한다.

다른 사람의 풀이

import java.util.*;

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

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

        return answer;
    }
}

이사람은 나머지와 몫을 활용한 알고리즘 활용

profile
A Normal Programmer

0개의 댓글