[golang] LeetCode #1281. Subtract the Product and Sum of Digits of an Integer

kameals·2019년 12월 30일
1

leetcode

목록 보기
4/14
post-thumbnail

1.문제

integer숫자가 입력된다. 모든 자릿수의 곱과 합의 차이를 반환한다.

2.접근

// 10으로 나눈 나머지가 1의 자리수가 된다. 
// 그 몫을 다시 10으로 나누면 10의 자릿수가 된다. 
// 10으로 나눈 몫이 0이 되면 마지막 수가 구해진 것이므로, 취득 후 처리 종료한다. 
// 자릿수를 곱하고 더한다.
// 두 수를 뺀다. 

3. 내가 작성한 답

func subtractProductAndSum(n int) int {
    pro := 1
    sum := 0
    for n != 0 {
        r := n%10
        n /= 10
        pro *= r
        sum += r
    }
    return pro - sum
}

4. 다른 유저의 답안

대부분 비슷하거나 더 복잡한 방법이었다.

5. 추가로 공부한 내용

처음엔 곱하는 변수의 초기값을 0으로 설정해버려서 매번 0이 되는 실수를 했다.
반성하자. 생각하자.

profile
팀의 윤활유 역할이 되고 싶은 소박한 개발자입니다. 좌우명은 '밝고 바르고 튼튼하자'

0개의 댓글