자릿수 더하기

KSang·2023년 11월 29일
0

[Kotlin]코드카타

목록 보기
12/100

문제설명

자연수 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
}


0개의 댓글