Java/실습
[Java] 각 자릿수의 숫자를 더한 값 구하기
Puft
2024. 11. 26. 11:56
이번 시간에는 제가 구현하지 못했던
각 자릿수의 숫자를 더한 값을 구하는
함수를 만들어보려고합니다.
삼항연산자의 조건을 잘 생각해봐야하는데요.
먼저 일의자리 숫자라면 그대로 리턴하면 될 것입니다.
일의 자리 숫자를 불러오려면
값에 10을 나눈 나머지를 구하고
함수에 a에 10을 나눈 값을 대입해서
다음 숫자까지 구하도록
호출하면 될 것입니다.
public static int sumNumber(int a) {
return (a < 10) ? a : (a % 10 + sumNumber(a / 10));
}
코드인데요.
예를 들어 숫자가 123이라면
123을 10으로 나눈 나머지로 일의자리 숫자가 나오고
파라미터를 10으로 나눠서
구한 일의 자리를 제외하고 남은
12를 다시 10으로 나눈 나머지를 구한 후
계속해서 더하면
각 자리의 숫자를 구할 수 있습니다.
저는 종료 조건을
a / 10 < 1로 설정해서
무한루프에 걸리게 되었습니다.
그리고 나머지를 이용할 생각을 못하고
나누기를 사용해서 몫을 구해서
구하려고 해서 구현하지 못한 것 같습니다.
배운 것을 응용할 수 있게
유연한 사고를 가져야 겠다는 생각이 드네요.