알고리즘/leetcode

989. Add to Array-Form of Integer(Easy)

1.5볼트 2023. 2. 16. 19:07
728x90

1.5v

 

정수의 배열 형식은num 왼쪽에서 오른쪽 순서로 숫자를 나타내는 배열입니다.

  • 예를 들어 num = 1321 의 경우 배열 형식은 입니다 [1,3,2,1].

정수 num의 배열 형식 과 정수가 주어지면 정수의 배열 형식을k 반환합니다 . num + k

 

 

리스트로 표현된 숫자와 정수로 표현된 숫자를 더하는 문제

일의 자리부터 한자리씩 순차적으로 더하면서 num리스트의 값을 바꿔나간다 10을 넘어가면  변수 s 에 저장하여

다음 연산에 사용 

처음 num 리스트에 0을 넣는 이유는 가장  앞자리의 연산이 10을 넘어가면 리스트를 넘어가 에러가 나기때문에 0을넣고 

연산후에 0이 남아 있으면 빼준다.

 

class Solution:
    def addToArrayForm(self, num: List[int], k: int) -> List[int]:

        s=0
        ll=len(str(k))
        for i in range(abs(ll-len(num))+2):
            num.insert(0,0)
        i=1
        while i<ll+1 or s!=0:
            a=num[-i]+(k%10)+s
            s=a//10
            num[-i]=a%10
            k//=10
            i+=1
        while num[0]==0:
            num.pop(0)
        return num