본문 바로가기

개발 노트/알고리즘[Kotlin]

프로그래머스 알고리즘 문제[자릿수 더하기]

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

 

# 제한사항

N의 범위 : 100,000,000 이하의 자연수

 

# 입출력 예

 

 

# 풀이

class Solution {
    fun solution(n: Int): Int {
        
        var answer  = 0
        var num = n

        while (num > 0){
            answer += num%10
            num /= 10
        }

        return answer
    }
}

 

A += B 는 A = A+B

answer += num%10 는 answer =   answer + num%10 

 

10으로 나누는 과정을 반복하고 10으로 나눴을때의 나머지를 더해가는 방식으로 했다

 

 

# 다른사람 풀이

class Solution {
    fun solution(n: Int): Int {
        var answer : Int = 0
        for(item in n.toString().toCharArray()) answer += (item - '0')
        return answer
    }
}

 

class Solution {
    fun solution(n: Int): Int {
        var res = 0
        n.toString().forEach { res += it.toInt() - '0'.toInt() }
        return res
    }
}