[ 알고리즘 ] LeetCode 1281. Subtract the Product and Sum of Digits of an Integer

이주 weekwith.me·2022년 8월 5일
0

알고리즘

목록 보기
51/73
post-thumbnail

블로그를 이전 중이라 완료되기 전까지는 벨로그에 작성할 계획입니다.
이후 모든 글은 https://weekwith.me 에 작성 예정이니 다른 글이 궁금하시다면 해당 링크를 통해 방문해주세요.

본 글은 [ LeetCode ] 1281. Subtract the Product and Sum of Digits of an Integer를 풀고 작성한 글입니다.

문제

요구사항

Given an integer number n , return the difference between the product of its digits and the sum of its digits.

제약사항

  • 1 <= n <= 10^5

풀이

접근법

반복문을 돌며 각각 초기값을 10 으로 할당한 변수 productsum 에 개별 숫자를 곱해주고 더한 뒤 빼면 된다.

나의 풀이

접근법을 토대로 문제를 해결하면 아래와 같다.

def solution(n: int) -> int:
    product_of_digits: int = 1
    sum_of_digits: int = 0
    for number in str(n):
        product_of_digits *= int(number)
        sum_of_digits += int(number)
    return product_of_digits - sum_of_digits

시간 복잡도

이와 같이 문제를 풀 경우 시간 복잡도는 O(N)이다.

profile
Be Happy 😆

0개의 댓글