Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)으로 배열 형태의 정수에 값 더하기

어떤 숫자가 배열 형태로 저장되어 있다고 가정해 봅시다. 예를 들어 숫자가 534라면 [5, 3, 4]처럼 각 자릿수별로 저장되는 방식입니다. 이번 문제는 이러한 배열 형태의 숫자에 또 다른 정수 k를 더하고, 그 결과 역시 자릿수 배열 형태로 반환하는 것입니다.

문제 해결 접근 방법

이 문제는 다음과 같은 단계로 해결할 수 있습니다.

  • 배열의 각 자릿수를 문자열로 변환한 뒤 하나의 문자열로 연결합니다.
  • 연결된 문자열을 정수(int)로 변환하고, 여기에 k를 더합니다.
  • 결과값을 다시 문자열로 변환한 후, 각 자릿수를 분리하여 새로운 배열을 만듭니다.

구현 예제

아래 코드를 통해 실제 구현 방법을 확인해 보겠습니다.

class Solution(object):
    def addToArrayForm(self, A, K):
        num_A = int(''.join(str(i) for i in A))
        res = list(str(num_A + K))
        res = list(map(int, res))
        return res

ob1 = Solution()
print(ob1.addToArrayForm([5, 3, 4], 78))

입력

[5, 3, 4]
78

출력

[6, 1, 2]

코드 설명

위 코드에서 ''.join(str(i) for i in A) 부분은 배열 [5, 3, 4]를 문자열 "534"로 변환하는 과정입니다. 이후 int() 함수로 정수화한 뒤 k인 78을 더하면 612가 됩니다. 마지막으로 결과를 다시 문자열로 바꾸고 map()을 활용해 각 문자를 정수로 변환하면 최종 결과인 [6, 1, 2]를 얻을 수 있습니다.

이 방식은 간단하고 직관적이지만, 매우 큰 숫자를 다룰 경우 파이썬의 임의 정밀도 정수 연산 덕분에 오버플로우 걱정 없이 처리할 수 있다는 장점이 있습니다.