문제 설명
정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요
입출력 예
나의 풀이 (.charAt()) // 숫자 받아올때는 - 48
class Solution {
public int solution(int n) {
int answer = 0;
String tmp = String.valueOf(n);
int[] num = new int[tmp.length()];
for(int i = 0; i < tmp.length(); i++){
num[i] = tmp.charAt(i);
answer += num[i] - 48;
}
return answer;
}
}
참고 풀이 1 (while과 %를 이용)
class Solution {
public int solution(int n) {
int answer = 0;
while(n>0){
answer+=n%10;
n/=10;
}
return answer;
}
}
참고 풀이 2 (Arrays.stream())
import java.util.Arrays;
class Solution {
public int solution(int n) {
return Arrays.stream(String.valueOf(n).split("")).mapToInt(Integer::parseInt).sum();
}
}
참고 풀이 3 (Integer.toString(), Integer.parseInt())
class Solution {
public int solution(int n) {
int answer = 0;
String str = Integer.toString(n);
String[] arr = str.split("");
for(int i = 0; i < arr.length; i++) {
answer += Integer.parseInt(arr[i]);
}
return answer;
}
}
나의 풀이
function solution(n) {
var answer = 0;
while(n > 0){
answer += n % 10;
n = parseInt(n / 10);
}
return answer;
}
참고 풀이 (.toString(), .split(), .reduce())
function solution(n) {
return n
.toString()
.split("")
.reduce((acc, cur) => acc + Number(cur), 0);
}