◆C#/C# : 백준 문제 풀이

[백준] C++ & C# Bank Interest (21633번)

진2_ 2024. 9. 21. 11:02
728x90
반응형

[백준] C++ & C# Bank Interest (21633번) 브론즈 4

 

📝 문제

 

Tanya has an account in "Redgotts" bank. The bank has the commission to transfer money to "Bluegotts" bank that her friend Vanya has the account in.

Tanya has read her bank rules and learned the following:

The commission for the bank transfer is 25 tugriks plus 1% of the sum transferred. However, the commission is never smaller than 100 tugriks, and cannot exceed 2000 tugriks.

Tanya is planning to transfer k tugriks to Vanya. Help her find out what the commission would be.

 

번역 : 
은행에서 제공하는 이율을 계산하는 문제입니다. 다음 조건을 기반으로 잔고에 따른 이율을 계산합니다:

  • 기초 수익은 25.0입니다.
  • 잔고에 따라 추가 또는 감소 수익이 있습니다.
    • 잔고가 40,000보다 많으면, 매달 추가 수익이 발생합니다.
    • 잔고가 20,000보다 적으면 수익이 감소합니다.

🔎 입력

 

Input is a single integer k (200≤k≤109).


잔고 가 주어집니다. 는 100 이상 100,000 이하의 정수입니다.

 

🔎 출력

 

Output one floating point value: the commission for the transfer. The value must be printed with at least two exact digits after the decimal point.


조건에 맞는 이율을 출력합니다. 이율은 소수 둘째 자리까지 출력합니다.

 

🎀 입출력 예시

 

 

정답 

 

C++

 

#include <iostream>
#include <iomanip> 
using namespace std;

int main()
{
    int m;
    cin >> m;
    
    // 실수 나눗셈을 유도하기 위해 100 대신 100.0을 사용
    float fee = m / 100.0 + 25;
    
    // 요금이 100보다 적으면 100으로 고정
    if (fee < 100) {
        fee = 100.00;
    } 
    // 요금이 2000보다 크면 2000으로 고정
    else if (fee > 2000) {
        fee = 2000.00;
    }
    
    // 소수점 둘째 자리까지 출력
    cout << fixed << setprecision(2);
    cout << fee;
    
    return 0;
}

 

C#

 

using System;

class Program
{
    static void Main(string[] args)
    {
        int X = int.Parse(Console.ReadLine());
        double interest = 25.0;

        if (X > 40000)
        {
            interest += (X - 40000) * 0.0001;
        }
        else if (X < 20000)
        {
            interest -= (20000 - X) * 0.0001;
        }

        if (interest < 0) interest = 0.0;
        if (interest > 100) interest = 100.0;

        Console.WriteLine($"{interest:F2}");
    }
}

 

 

 

 

 

728x90
반응형