반응형
문제 설명
자연수 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을 빼주어야 했다.
반응형
'코딩테스트 > JAVA' 카테고리의 다른 글
| 없는 숫자 더하기 (0) | 2023.05.09 |
|---|---|
| [JAVA/프로그래머스] 정수 제곱근 판별 (0) | 2023.05.06 |
| [JAVA/프로그래머스] 콜라츠 추측 (0) | 2022.12.22 |
| [JAVA/프로그래머스]핸드폰 번호 가리기 (0) | 2022.12.16 |
| [JAVA/프로그래머스]서울에서 김서방 찾기 (0) | 2022.12.16 |