Daily LeetCode Challenge - 989. Add to Array-Form of Integer

Min Young Kim·2023년 2월 15일
0

algorithm

목록 보기
74/198

Problem From.

https://leetcode.com/problems/add-to-array-form-of-integer/

오늘 문제는 주어진 배열을 숫자로 생각했을때, k 를 더한수를 다시 배열로 반환하는 문제였다.

처음에는 배열에 있는 숫자들을 이어붙여서 Int 형으로 만들어서 풀려고했는데 Long 범위까지도 벗어나는 제약조건때문에 배열에 있는 그대로 더해서 반환하는걸로 바꾸었다.

num 배열의 마지막부터 보면서 k 를 10으로 나눈수를 배열에 넣어주면서 k 를 k + num[i] 로 대체하도록 하여, 10의 자리가 넘어가는 수를 처리하였다.

class Solution {
    fun addToArrayForm(num: IntArray, k: Int): List<Int> {
     
        val answer = mutableListOf<Int>()
        var add = k
        
        for(i in num.size - 1 downTo 0) {
            answer.add(0, (num[i] + add) % 10)
            add = (num[i] + add) / 10
        }
        while(add != 0) {
            answer.add(0, add % 10)
            add /= 10
        }
        
        return answer.toList()
        
    }
}
profile
길을 찾는 개발자

0개의 댓글