본문 바로가기

알고리즘

[알고리즘] 자릿수 더하기 (Java 예제)

728x90

1. 자바로 정수 자릿수 더하기

  • 나누기 연산자(/)
    • / 연산자는 정수 나누기를 수행하여 나머지를 제외한 값을 반환합니다. 예: 2345 / 10 = 234
  • 나머지 연산자 (%)
    • 나누었을 때 나누어 떨어지지 않는 값을 반환합니다.
    • 예: 2345 % 10 = 5 (2345를 10으로 나누었을 때의 나머지)

예제 코드:

class Solution {
    public int solution(int n) {
        int result = 0;
        
        // n이 0이 될 때까지 반복하기
        while (n > 0) {
            // result에 n % 10을 더하기
            result += n % 10; // 예) 2345 % 10 = 5
            // n을 10으로 나누기
            n /= 10; // 2345 / 10 = 234
        }
        
        return result; // 결과: 2 + 3 + 4 + 5 = 14
    }
}

 

 

2. 문자열로 변환하여 더하기

  • 문자열 변환: char 타입을 숫자로 변환할 때 아스키 코드 값을 사용합니다.
    • '0'은 48로 변환되고, '1'은 49로 변환됩니다.
    • 예: '1' - '0' = 49 - 48 = 1

예제 코드:

class Solution {
    public int solution(int n) {
        // 문자열로 변환하기
        String num = String.valueOf(n);
        int result = 0;

        // 문자열을 0번째부터 순차적으로 접근
        for (int i = 0; i < num.length(); i++) {
            // charAt(i)로 해당 문자를 추출(char타입)
            result += num.charAt(i) - '0'; // 아스키 코드 변환
        }
        return result; // 결과: 2 + 3 + 4 + 5 = 14
    }
}

 

 

 

다양한 방법으로 구현하기

이 외에도 str.toCharArray()와 같은 다양한 방법으로 정수 자릿수 더하기를 수행할 수 있습니다. 위 두 가지 방식이 대표적으로 사용됩니다.

728x90