문제설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한사항
N의 범위 : 100,000,000 이하의 자연수
입출력 예
123 6
987 24
입출력 예 설명
입출력 예 #1
문제의 예시와 같습니다.
입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.
진행
Int는 소숫점까지의 숫자를 표시하지 않는다
%연산자를 사용해서 1의자리 숫자를 구하고 10을나눈뒤 이 과정을 반복하면
각 자릿수를 더할수 있을 것이다
while (num > 0) {
result += (num%10)
num /= 10
}
반복문을 사용해 입력받은숫자가 0이 될때까지 계속 나눈다
Int로 선언했기때문에 소숫점 아래로는 숫자가 입력되지않는다
result에 계속 10으로 나눈 나머지를 더해주고 입력받은값을 계속 10씩 나눠준다
코드
package com.example.codekata
fun main() {
var num1: Int = 0
println("숫자를 입력하세요.")
num1 = readln().toInt()
if (num1 > 100000000){
println("숫자가 너무 큽니다")
}
else
println("${solution(num1)}")
}
fun solution(n: Int): Int {
var result = 0
var num = n
while (num > 0) {
result += (num%10)
num /= 10
}
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
return result
}