코딩테스트/JAVA

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

할루솔이 2023. 5. 5. 00:34
반응형

문제 설명


자연수 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 하면 됩니다.

 

import java.util.*;

public class Solution {
    public int solution(int n) {
        int answer = 0;
		
        //정수 n을 문자열로 변환
        String s= String.valueOf(n);
        for(int i=0;i<s.length();i++){//n의 길이만큼 반복문
            answer+=(s.charAt(i)-48);//아스키코드 값을 빼줘서 연산하기
        }
        

        return answer;
    }
}

 

48을 빼준 이유!
문자열 출력을 해보면 1230 7890 이렇게 0이 같이 나오고 아스키코드 값을 알고싶어서 출력문에 s.charAt(i)-0을 해주었다. 그러니 495051 이렇게 나옴. 문자 그대로의 정수 값을 얻으려면 0의 아스키코드 값인 48을 빼주어야 했다.

 

 

 

반응형