트랙
/
Java
Java
/
연습 문제
/
급여 계산기
급여 계산기

급여 계산기

학습 연습 문제

소개

삼항 연산자

_삼항 연산자_는 단순한 _if/else_문을 위한 가볍고 간결한 대안이에요. 주로 반환문에서 쓰이지만 거기에만 제한되지는 않고, 결정을 내리는 데 딱 한 줄이면 충분해요. 표현식이 true면 왼쪽 값을, false면 오른쪽 값을 반환해요. 예를 들면 다음과 같아요:

boolean expr = 0 != 200;

// Ternary statement
int value = expr ? 22 : 33;
// => 22

많은 단순한 if/else 표현은 _삼항 연산자_를 사용해 간단하게 줄일 수 있어요.

지침

이 연습 문제에서는 한 달 동안 직원의 총 급여를 계산하는 규칙을 구현해요. International Siderurgy Company (ISC)는 최종 임금에 영향을 줄 수 있는 여러 요인을 고려해 직원 급여를 계산하는 데 도움이 필요해요.

세 가지 과제가 있고, 이를 구현할 때는 if/else 문 대신 삼항 연산자를 사용해야 해요.

1. 급여 배수 구하기

직원이 결근한 날짜 수에 따라 급여 배수를 반환하는 salaryMultiplier 메서드를 구현해요. 직원이 5일 이상 결근했다면 15%의 페널티를 적용해요.

int daysSkipped = 3;
salaryMultiplier(daysSkipped);
// => 1.0

daysSkipped = 7;
salaryMultiplier(daysSkipped);
// => 0.85

2. 판매한 제품에 대한 보너스 계산하기

bonusMultiplier와 bonusForProductsSold 메서드를 구현해요. ISC는 판매된 제품 하나당 10 화폐 단위를 지급하고, 직원이 제품을 20개 이상 판매하면 배수가 13으로 올라가요. bonusMultiplier는 어떤 배수를 적용할지 결정하고, bonusForProductSold는 화폐 단위로 총 보너스를 반환해요.

int productsSold = 21;
bonusMultiplier(productsSold);
// => 13
bonusForProductsSold(productsSold);
// => 273

productsSold = 5;
bonusMultiplier(productsSold);
// => 10
bonusForProductsSold(productsSold);
// => 50

3. 직원의 최종 급여 계산하기

finalSalary 메서드를 구현해요. 기본급 1000.00에 급여 배수를 곱하고, 보너스를 더한 뒤, 그 결과를 반환해야 해요. 다만 급여는 2000.00을 넘을 수 없어요.

int daysSkipped = 2;
int productsSold = 3;
finalSalary(daysSkipped, productsSold);
// => 1030.00

productsSold = 90;
finalSalary(daysSkipped, productsSold);
// => 2000.00
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Java Exercism

급여 계산기 문제를 시작해 볼 준비가 됐나요?

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