모음 제거
정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요
0 ≤ n ≤ 1,000,000
💻 풀이
String.valueOf() 를 사용해 n을 문자열 배열로 담아준다.
이때 split("") 를 이용해 한 자리 씩 분리해서 배열에 담아준다.
이후 반복문을 이용해 배열의 길이만큼 반복해 sum에 누적합해준다.
정수를 더해야 하기 때문에 Integer.parsInt() 를 사용해 정수로 변경해 더해준다.
⌛ 시간 0.09ms ~ 0.13ms
public int solution(int n){
String[] arr = String.valueOf(n).split("");
int sum = 0;
for(int i = 0; i < arr.length; i++){
sum += Integer.parsInt(arr[i]);
}
return sum;
}
💻 풀이
n 이 0보다 큰 경우에만 반복문이 실행되도록 설정해 준다.
이후 n을 10으로 나눈 나머지를 sum에 누적합 해준다.
※ n을 10으로 나눈 나머지를 구해보면 가장 숫자의 가장 마지막 숫자만 남게 된다.
이후 이미 계산한 마지막 숫자를 버리기 위해서 n = n / 10 을 해준다.
※ ex) 1234 -> 123 으로 남게 된다.
⌛ 시간 0.01ms ~ 0.02ms
전체코드
public int solution1(int n){
int sum = 0;
while(n > 0){
sum += n % 10;
n /= 10;
}
return sum;
}