문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
[제한사항]
N의 범위 : 100,000,000 이하의 자연수
입출력 예
N -> answer
123 -> 6
987 -> 24
import java.util.*;
public class Solution {
public int solution(int n) {
int answer = 0;
String s = Integer.toString(n); // a
for(int i = 0; i < s.length(); i++) {
answer += Integer.parseInt(s.substring(i, i+1)); //b
}
return answer;
}
}
a. int형을 문자형으로 형 변환한 후
b. substring 으로 문자열을 자른 후 반복문을 통해 다시 더하여 값을 구하는 방법
다른 풀이
public class Solution {
public int solution(int n) {
int answer = 0;
while(n > 0){
answer += n%10;
n/=10;
}
return answer;
}
}
정수 나눗셈 방식
10으로 나눈 나머지를 더해주고, n을 10으로 나누면서 한자리식 소거하면 더하는 방법
n/= 변수 n을 나눈 후 다시 변수 n에 대입한다.
String타입을 변환시키는데 있어서 많이 쓰이는 메서드
parseInt()의 기능은 String타입의 숫자를 int타입으로 변환해주는 메서드
int형만 가능한것이 아닌 모든 숫자와 관련된 타입은 전부 가능하다
Byte.parseByte();
Short.parseShort();
Integer.parseInt();
Long.parseLong();
Float.parseFloat();
Double.parseDouble();