문제
자연수 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 하면 됩니다.
Solution.java
import java.util.*;
public class Solution {
public int solution(int n) {
int answer = 0;
String answerS = Integer.toString(n);
char[] answerC = answerS.toCharArray();
for(int i=0; i<answerC.length; i++){
answer += answerC[i]-'0';
}
return answer;
}
}
주어진 n의 타입을 int ➝ String ➝ char array로 변환해 문제를 해결하고자 했다. 이 과정은 순조롭게 되었지만, for 문 안에서 char array인 answerC[i]를 int로 형변환하는 부분에서 조금 시간을 소요했다. 흔히 아는 형변환처럼 앞에 '(int)'만을 붙이면 원하는 대로 결과가 나오지 않았고, 구글링을 통해 방법을 알아냈다. 관련 내용은 아래 글을 참고하길 바란다.
[Java/자바] char to int : 문자를 정수로 변환하는 방법
자바에서 char 타입의 숫자 문자를 int로 형변환할 때 변수 앞에 (int)를 붙이면 원하는 값을 얻지 못한다(결괏값으로 char 타입의 숫자 문자의 ASCII 값이 나오기 때문). 이 게시글에서는 char 타입의
daljyeong.tistory.com
'프로그래머스 > Lv. 0' 카테고리의 다른 글
[Java/자바] 프로그래머스 Lv. 0 n 번째 원소까지 (0) | 2023.07.24 |
---|---|
[Java/자바] 프로그래머스 Lv. 0 문자열의 뒤의 n글자 (0) | 2023.07.21 |
댓글