리트코드 풀이

leetcode 1281 풀이(파이썬, 스위프트)

ag2개발자 2022. 2. 7. 05:00
모르는게 많아서 블로그에 많은걸 포스팅하게 된 문제... 
map과 reduce에 익숙해지자...
(파이썬으론 익숙해서 쉽다 파이썬짱)

숫자를 이루는 숫자들을 다뤄야하기 때문에 

숫자를 그 숫자를 이루는 숫자들의 배열로 만들었고

for문으로 모두 곱한것에서 더한것을 빼줬다.
 
스위프트:
class Solution {
    func subtractProductAndSum(_ n: Int) -> Int {
        var a = String(n).map{Int(String($0))!}
        return a.reduce(1){$0*$1} - a.reduce(0){$0+$1}
    }
}

파이썬:

class Solution:
    def subtractProductAndSum(self, n: int) -> int:
        n=[x for x in str(n)]
        pro =1
        hap=0
        for i in n:
            hap+=int(i)
            pro*=int(i)
        return (pro-hap)