[백준 14182] Tax (C#, C++) - soo:bak
작성일 :
문제 링크
설명
소득에 따라 구간별 세율을 적용한 뒤 실수령액을 구하는 문제입니다.
1,000,000 이하는 비과세, 1,000,000 초과 5,000,000 이하는 10%, 5,000,000 초과는 20% 세금이 부과됩니다.
입력이 0이면 종료합니다.
접근법
소득 구간에 따라 세율을 적용합니다.
부동소수점 대신 정수 연산으로 처리하면 오차 없이 계산할 수 있습니다.
Code
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
class Program {
static void Main() {
while (true) {
var line = Console.ReadLine();
if (line == null) break;
var n = long.Parse(line);
if (n == 0) break;
if (n > 5_000_000) n = n * 8 / 10;
else if (n > 1_000_000) n = n * 9 / 10;
Console.WriteLine(n);
}
}
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll n;
while (cin >> n) {
if (n == 0) break;
if (n > 5'000'000) n = n * 8 / 10;
else if (n > 1'000'000) n = n * 9 / 10;
cout << n << "\n";
}
return 0;
}