본문 바로가기

프로그래머스(Java)/Level 1

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

728x90

코드 힌트

정답을 풀 수 있는 2가지 방법

  1. 문자열로 변환하여 한 자리씩 더하는 방법:
    • 숫자를 문자열로 변환하세요.
    • 변환한 문자열의 각 문자를 하나씩 순회하면서 숫자로 바꾸고, 이를 모두 더하세요.
  2. 10으로 나머지를 구하는 방식:
    • 주어진 숫자를 10으로 나눈 나머지를 구하세요. 이는 숫자의 마지막 자릿수를 구하는 방법입니다.
    • 이 나머지를 결과에 더한 후, 숫자를 10으로 나누어 다음 자릿수를 처리하세요.
    • 이 과정을 숫자가 0이 될 때까지 반복하세요.

 


더보기

1. 문자열로 변환하여 구하는 방법

public class Solution {
    public int solution(int n) {
        int result = 0;
        
        // 숫자를 문자열로 변환
        String str = String.valueOf(n);
        
        // 문자열의 각 문자를 순회하면서 숫자로 변환하여 결과에 더함
        for (int i = 0; i < str.length(); i++) {
            // 문자를 숫자로 변환하여 더함
            result += Integer.valueOf(str.charAt(i) - '0');
        }
        
        return result;
    }
}

 

2. 10으로 나머지를 구하는 방법

public class Solution {
    public int solution(int n) {
        // 결과값을 저장할 변수
        int result = 0;
        
        // n이 0보다 큰 동안 반복
        while (n > 0) {
            // n의 마지막 자릿수를 result에 더함
            result += n % 10;
            // n을 10으로 나누어 자릿수를 줄임
            n /= 10;
        } 
        
        // 최종 결과값 반환
        return result;
    }
}
728x90