본문 바로가기
프로그래밍 기초/Java Festival

[Java Festival] 02. 시급 계산기 구현하기: 초과 근무 시급 계산 프로그램

by 제이투더문 2024. 6. 16.

 

 

 안녕하세요, 작가 J입니다. 자바 페스티벌 콘텐츠는 비교적 간단하기 때문에, 오늘은 문제 2까지 포스팅하겠습니다.

 

[Java Festival 02] 시급 계산기 구현하기: 초과 근무 시급 계산 프로그램

 

일할 시간을 입력받아 총 임금을 계산하는 시급 계산기입니다. 시급은 5000원이며 8시간보다 초과 근무한 시간에 대해 1.5배의 시급이 책정됩니다.

 

 

 

 위 문제 또한 분석해 보겠습니다. 어떻게 보면 페스티벌 1번 문제보다 더 간단한 것 같습니다.

 

문제 요약:

  • 일할 시간을 입력받아 총 임금을 계산하는 시급 계산기를 구현
  • 기본 시급은 5000원
  • 8시간을 초과 근무한 시간에 대해서는 1.5배의 시급 적용

 이 프로그램을 통해 Java의 입력 처리, 조건문, 그리고 간단한 산술 연산을 배우실 수 있습니다. 일한 시간을 입력받고 시급을 곱해서 임금을 계산하는 것은 대부분 쉽게 하실 수 있습니다. 문제는 8시간 초과 근무 수당에 관한 것인데, 이는 조건문을 통해서 처리 가능합니다.

 

제 풀이를 첨부하겠습니다.

 

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		System.out.print("일한시간을 입력하세요 : ");
		int workTime = sc.nextInt(); // 근무시간 입력
		
		int pay = 0; // 임금 변수
		
		// 8시간 초과 근무시
		if (workTime > 8) {
			pay = (5000 * 8); // 기본 8시간 임금
			pay += (workTime - 8) * (5000 * 1.5); // 초과 근무 임금
		} else { //8시간 이하 근무시
			pay = (workTime * 5000);
		}
		System.out.println("총 임금은 " + pay + "원 입니다.");
	}
}

 

 수업을 들을 때는 저도 삼항 연산자를 사용해 처리했지만, 그렇게 하면 소스 코드 줄 수는 줄어들 수 있습니다. 그러나 다른 사람이 보기에 매우 불편하며, 가독성도 좋지 않습니다. 따라서 8시간 초과 근무 시 해당하는 계산을 나눠서 처리해 보았습니다. 이 문제에서 주의할 점은 '초과'라는 단어입니다. 초과는 반드시 '>' 기호를 사용해야 합니다.

 

 이 코드를 직접 실행해 보시고, 이해가 잘 되지 않는 부분이 있다면 언제든지 질문해 주세요. 여러분에게 도움이 되길 바랍니다. 감사합니다!