출처: https://school.programmers.co.kr/learn/courses/30/lessons/12931
문제 설명
자연수 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 하면 됩니다.
내가 작성한 코드문
public class Solution {
public int solution(int n) {
int answer = 0;
String str = String.valueOf(n);//String.valueOf로
for(int i = 0; i < str.length(); i++){
answer += str.charAt(i) - '0';//문자를 정수로 변환
}
return answer;
}
}
전에 풀었던 문제랑 비슷한 문제다.
정수를 문자열로 변환후
각 자릿수를 문자->정수로 치환후 answer 변수에 더한다.
다른 사람의 풀이
import java.util.*;
public class Solution {
public int solution(int n) {
int answer = 0;
while (n != 0) {
answer += n % 10;
n /= 10;
}
return answer;
}
}
이사람은 나머지와 몫을 활용한 알고리즘 활용