본문 바로가기

국비교육/국비교육 복습

Day02_data_Test08 : 나누기 연산의 몫과 나머지

(Q) KH주차장의 요금은 다음과 같습니다

- 0분부터 9분까지 무료

- 10분부터 19분까지 1000원

- 이후 10분당 1000원씩 추가

12시 40분에 들어와서 16시 10분에 나간 차량이 있을 때 이 차량의 주차시간과 요금을 구해서 출력

 

package day02;

import java.lang.*;

public class Day02_data_Test08 {

	public static void main(String[] args) {
    
		int inHour = 12, inMinute = 40;
    
		int outHour = 16, outMinute = 10;
    
		int inTime = inHour * 60 + inMinute;
		int outTime = outHour * 60 + outMinute;
    
		int totalTime = outTime - inTime;
		int hour = totalTime / 60;
		int minute = totalTime % 60;
    
		int totalCount = totalTime / 10;
    
		int totalPrice = totalCount * 1000;
    
		System.out.println("주차 요금은 다음과 같습니다");
		System.out.println(totalPrice);
		
		System.out.println("주차 시간");
		System.out.println(hour + "시간" + minute + "분");
    
	}	
    
}

 

1) 문제 상황을 잘 파악해야한다

- 0분부터 9분까지 무료이면 10분부터는 1000원이 부과된다

- 사실상 10분당 1000원이다

 

2) 나눗셈의 응용

- a / b에 대하여 산술 연산자 '/'는 변수에 a를 b로 나누었을 때의 몫을 저장한다 (나머지는 버리는 셈이다)

- a / b에 대하여 산술 연산자 '%'는 변수에 a를 b로 나누었을 때의 나머지를 저장한다

- 10분당 요금이 부과되므로 totalTime을 10으로 나누었을 때의 몫에 해당하는 횟수만큼 1000원을 부과한다

 

3) 출력 양식 작성

- System.out.println(); 의 () 속에 쌍따옴표(")를 이용하면 간단한 양식을 갖출 수 있다