트랙
/
C#
C#
/
연습 문제
/
이자는 흥미로워요
이자는 흥미로워요

이자는 흥미로워요

학습 연습 문제

소개

부동소수점 수

부동소수점 수는 소수점 뒤에 자릿수가 0개 이상 있는 수예요. -2.4, 0.1, 3.14, 16.984025, 1024.0 같은 것이 예예요.

부동소수점 타입마다 소수점 뒤에 저장할 수 있는 자릿수가 달라요. 이 자릿수를 정밀도라고 해요.

C#에는 부동소수점 타입이 세 가지 있어요:

  • float: 4바이트(정밀도 약 6~9자리). 2.45f로 써요.
  • double: 8바이트(정밀도 약 15~17자리). 가장 흔히 쓰이는 타입이에요. 2.45 또는 2.45d로 써요.
  • decimal: 16바이트(정밀도 28~29자리). 보통 금액 데이터를 다룰 때 사용하는데, 정밀도가 높아서 반올림 오류가 생길 가능성을 줄여 주기 때문이에요. 2.45m로 써요.

보다시피, 타입마다 저장할 수 있는 자릿수가 달라요. 예를 들어 float에 원주율을 저장하려고 하면 소수점 이하 첫 6자리까지만 저장돼요(마지막에 저장된 자리는 반올림돼요).

while문

이 연습 문제에서는 루프를 사용하고 싶을 수 있어요. C#에서 루프를 작성하는 방법은 여러 가지지만, 여기서는 while문이 가장 적합해요:

int x = 23;

while (x > 10)
{
    // Execute logic if x > 10
    x = x - 2;
}

do/while문

루프 안의 코드가 항상 최소 한 번은 실행돼야 한다면, do/while문을 사용할 수 있어요:

int x = 23;

do
{
    // Execute body, repeating only if x > 10
    x = x - 2;
} while (x > 10);

지침

이 연습 문제에서는 저축 계좌를 다뤄요. 매년 저축 계좌의 잔액은 이자율에 따라 갱신돼요. 은행이 정해 주는 이자율은 계좌에 있는 금액, 즉 잔액에 따라 달라져요.

  • 잔액이 음수인 경우 3.213% (잔액이 더 음수가 돼요).
  • 잔액이 양수이면서 1000달러 미만인 경우 0.5%.
  • 잔액이 양수이면서 1000달러 이상 5000달러 미만인 경우 1.621%.
  • 잔액이 5000달러 이상인 경우 2.475%.

네 개의 작업이 있고, 각 작업에서 잔액과 이자율을 다뤄요.

1. 이자율 계산하기

주어진 잔액을 기준으로 이자율을 계산하는 (static) SavingsAccount.InterestRate() 메서드를 구현해요.

SavingsAccount.InterestRate(balance: 200.75m)
// 0.5f

반환되는 값은 float이라는 점에 유의해요.

2. 이자 계산하기

주어진 잔액을 기준으로 이자를 계산하는 (static) SavingsAccount.Interest() 메서드를 구현해요.

SavingsAccount.Interest(balance: 200.75m)
// 1.00375m

반환되는 값은 decimal이라는 점에 유의해요.

3. 연간 잔액 갱신 계산하기

이자율을 고려해 갱신된 연간 잔액을 계산하는 (static) SavingsAccount.AnnualBalanceUpdate() 메서드를 구현해요.

SavingsAccount.AnnualBalanceUpdate(balance: 200.75m)
// 201.75375m

반환되는 값은 decimal이라는 점에 유의해요.

4. 목표 잔액에 도달하기까지 걸리는 연수 계산하기

매년 복리로 이자가 붙을 때 목표 잔액에 도달하는 데 필요한 최소 연수를 계산하는 (static) SavingsAccount.YearsBeforeDesiredBalance() 메서드를 구현해요.

SavingsAccount.YearsBeforeDesiredBalance(balance: 200.75m, targetBalance: 214.88m)
// 14

반환되는 값은 int라는 점에 유의해요.

Note

원금 잔액에 단리를 적용할 때는 잔액에 이자율을 곱하고, 그 곱이 이자 금액이 돼요.

반면 복리는 이자를 주기적으로 적용하는 방식이에요. 이자를 적용할 때마다 이자 금액을 계산해 원금 잔액에 더하기 때문에, 그다음 이자 계산은 더 커진 원금 잔액을 대상으로 이뤄져요.

GitHub에서 편집 링크가 새 창이나 탭에서 열려요
C# Exercism

이자는 흥미로워요 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 C# 트랙을 개념 62개연습 문제 178개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.