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

chorok ☘️·2025년 9월 15일

코딩테스트

목록 보기
49/54
post-thumbnail

코딩테스트 연습 > 코딩테스트 입문 > 자릿수 더하기

⚡ 문제 설명

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

⚡ 제한사항

  • 0 ≤ n ≤ 1,000,000

⚡ 입출력 예

nresult
123410
93021116

⚡ 구현코드

나의 문제 풀이

class Solution {
    public int solution(int n) {
        int answer = 0;
        String[] str = String.valueOf(n).split("");
        for(String s:str){
            answer += Integer.parseInt(s);
        }
        return answer;
    }
}

다른 사람의 문제 풀이

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

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

        return answer;
    }
}

⚡ 구현코드 해설

  • 나의 코드

int를 String으로 형변환해서 String 배열로 만들고,
배열 안의 String을 int로 형변환해서 각 자릿수를 더하였다.

[ java ] 형 변환

  • 다른 사람의 코드

10으로 나눈 나머지가 각 자릿수가 된다!


두 코드의 정확성을 비교해보았다

  • 형 변환 코드
    숫자 → 문자열 변환 → 정규식 split → 문자열 배열 생성 → 문자열 → 숫자 변환
    불필요한 객체 생성과 파싱 과정이 많아서 느림.

  • 나머지 연산 코드
    메모리 할당 거의 없고, CPU 정수 연산만 하기 때문에 훨씬 빠름.

profile
백엔드 개발자 chorok's velog

0개의 댓글