자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다

.
package programmers;
public class DigitPlus {
public static int solution(int n) {
int answer = 0;
while(n > 0){
answer += n % 10; //마지막 자리수 추출
n /= 10; //마지막 자리수 삭제
}
return answer;
}
public static void main(String[] args) {
System.out.println(solution(987));
}
}
n % 10 문장은 주어진 숫자의 마지막 자리수를 배출 해줌(ex 123 % 10 할시 3이 남음)
이걸 answer에 대입하여 더한다.("answer +=" 을 쓴 이유)
n /= 10은 마지막 자리수를 없애줌.(ex "123 /= 10" 을 할시에 몫을 반환하는거라 3은 버려지고 12가 n에 대입된다."n /= 10" 으로 다시 n에 대입한 이유)
위와 같은 이유로 while문 조건을 n을 0보다 클 동안 하라고 하면 된다.
'오류, 기능, 문제해결(JAVA)' 카테고리의 다른 글
| Recursive constructor call (0) | 2025.01.03 |
|---|---|
| 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴 (0) | 2025.01.01 |
| 내배캠 2주차 자바 숙제 풀다가 iterator() 관련 문제 (0) | 2024.12.31 |
| 문자열 앞에 순차적으로 증가하는 숫자 붙이고 싶을때 배열써야됨 (1) | 2024.12.31 |
| 배열 문제 상품 관리 프로그램 만들기 (1) | 2024.12.30 |