세금 납부 금액 계산
brackets
이 주어집니다. 여기서 brackets[i] = [upperi, percenti]
는 ith
세금 괄호의 상한이 upperi
이고 세율이 percenti
로 부과됨을 의미합니다. 괄호는 상한선으로 정렬됩니다(즉, upperi-1 < upperi
에 대한 0 < i < brackets.length
).세금은 다음과 같이 계산됩니다.
upper0
달러는 percent0
의 세율로 과세됩니다. upper1 - upper0
달러는 percent1
의 세율로 과세됩니다. upper2 - upper1
달러는 percent2
의 세율로 과세됩니다. 귀하가 번 금액을 나타내는 정수
income
가 제공됩니다. 세금으로 내야 할 금액을 반환하십시오. 실제 답변의 10-5
이내 답변이 허용됩니다.예 1:
입력: 괄호 = [[3,50],[7,10],[12,25]], 소득 = 10
출력: 2.65000
설명:
처음 3달러에 50%의 세금이 부과됩니다. 세금으로 $3 * 50% = $1.50 달러를 지불해야 합니다.
다음 7 - 3 = 4달러에 10%의 세금이 부과됩니다. 세금으로 $4 * 10% = $0.40 달러를 지불해야 합니다.
최종 10 - 7 = 3달러에 25%의 세금이 부과됩니다. 세금으로 $3 * 25% = $0.75 달러를 지불해야 합니다.
세금으로 총 $1.50 + $0.40 + $0.75 = $2.65 달러를 지불해야 합니다.
예 2:
입력: 괄호 = [[1,0],[4,25],[5,50]], 소득 = 2
출력: 0.25000
설명:
당신이 버는 첫 달러는 0%의 세금이 부과됩니다. 세금으로 $1 * 0% = $0 달러를 지불해야 합니다.
두 번째로 벌어들인 달러에는 25%의 세금이 부과됩니다. 세금으로 $1 * 25% = $0.25 달러를 지불해야 합니다.
세금으로 총 $0 + $0.25 = $0.25 달러를 지불해야 합니다.
예 3:
입력: 괄호 = [[2,50]], 소득 = 0
출력: 0.00000
설명:
귀하는 과세할 소득이 없으므로 세금으로 총 $0 달러를 지불해야 합니다.
제약:
1 <= brackets.length <= 100
1 <= upperi <= 1000
0 <= percenti <= 100
0 <= income <= 1000
upperi
는 오름차순으로 정렬됩니다. upperi
의 모든 값은 고유합니다. income
보다 크거나 같습니다. 해결책:
class Solution:
def calculateTax(self, brackets: List[List[int]], income: int) -> float:
rem = income
tax = 0
prev = 0
for b, p in brackets:
if income >= b:
tax += (b - prev) * p
rem -= (b - prev)
prev = b
elif rem > 0:
tax += rem * p
rem = 0
break
return tax / 100
Reference
이 문제에 관하여(세금 납부 금액 계산), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/theabbie/calculate-amount-paid-in-taxes-5454텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)