프로그래머스 문자열 정수의 합

KIMYEONGJUN·2026년 7월 29일
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

한 자리 정수로 이루어진 문자열 num_str이 주어질 때, 각 자리수의 합을 return하도록 solution 함수를 완성해주세요.

내가 이 문제를 보고 생각해본 부분

solution 메서드는 입력으로 문자열 num_str을 받는다.
이 문자열은 한 자리 숫자들이 연속해서 들어있는 문자열이다.
먼저 정수형 변수 answer를 0으로 초기화한다.
for 반복문을 사용하여 문자열의 처음부터 끝까지 한 글자씩 순회한다.
반복문 내에서 num_str.charAt(i)는 문자열의 i번째 문자를 가져오는데, 이는 문자형 숫자('0', '1', '2' 등)이다.
여기서 '0' 문자를 빼는 이유는 문자 숫자를 실질적인 정수 숫자로 변환하기 위함이다.
예를 들어 '3' - '0'는 3이라는 정수값을 얻는 연산이다.
이렇게 변환한 숫자를 answer 변수에 누적해서 더한다.
반복문이 종료되면 모든 자리수의 합이 answer에 저장된다.
마지막으로 answer 값을 반환한다.

코드로 구현

class Solution {
    public int solution(String num_str) {
        int answer = 0;
        for (int i = 0; i < num_str.length(); i++) {
            answer += num_str.charAt(i) - '0';
        }

        return answer;
    }
}

프로그래머스 코드

package programmers;

// 프로그래머스 문자열 정수의 합
public class Main96 {
    public static int solution(String num_str) {
        int answer = 0;
        for (int i = 0; i < num_str.length(); i++) {
            answer += num_str.charAt(i) - '0';
        }
        return answer;
    }

    public static void main(String[] args) {
        // 테스트 예시
        String test1 = "123456789";
        String test2 = "1000000";

        System.out.println(solution(test1)); // 45
        System.out.println(solution(test2)); // 1
    }
}

위에 있는 코드를 변경한 코드

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글