[프로그래머스] 자릿수 더하기

Sdoubleu·2023년 3월 28일
0

프로그래머스

목록 보기
14/34
post-thumbnail

문제


내가 쓴 풀이

class Solution {
    fun solution(n: Int): Int {
        val arr = mutableListOf<Int>()
        for(i in n.toString()) arr.add(i.toInt() - 48)
        return arr.sum()
    }
}
  • 받은 정수를 string으로 변환해서 list에 집어 넣는다
    집어 넣을 때 아스키코드 변환으로해서 sum 함수로 합계를 추출한다

다른 사람 풀이

class Solution {
    fun solution(n: Int): Int =
        n.toString().toList().sumOf { it.digitToInt() }
}
  • 숫자를 string으로 변환하고 toList로 각 한 자리 씩 배열에 집어 넣은 다음에
    각 원소를 digitToInt() 함수로 10진수 값으로 변환시켜서 sum으로 반환한다

처음엔 인자의 숫자의 길이로 10^n 씩 나눠서 각 자릿수의 합을 구하려 했으나 인자는 최대 1,000,000까지의 수가 들어올 수 있기때문에 번잡하다..
더 좋은 방법이 있을까해서 아스키 코드를 이용했지만
digitToInt 함수를 알았더라면 ... 더 쉽게 했을 것 같다

profile
개발자희망자

0개의 댓글