백준 2884 (알람 시계)

2024. 4. 17. 12:01백준

 

백준 알람 시계(2884) 문제 사진

아래는 문제를 풀기위한 코드입니다.

 

먼저 코드의 풀이 과정을 설명 드리면,

1. 먼저 분과 시의 값을 입력 해서 받을 변수 두 개를 선언합니다.

2. 그리고, 분이 45보다 적을 때의 경우와 시가 0보다 작을 경우에는 23으로 시를 지정합니다.

참고로 분을 45분 전으로 구하는 공식은 두가지로 나뉘는데,

 

  • 45보다 분이 작을 때

      60- (45-분(M))

  • 45보다 분이 클 때  

     분(M) - 45로 하면 됩니다.

3. 그리고, 45보다 적을 때와 시가 0보다 작을 경우가 아닌 그 외의 경우를 아까 언급 45보다 분이 클 때를 적용합니다. 

 

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) throws ParseException {
		Scanner sc = new Scanner(System.in); 
		int H = sc.nextInt();// 시를 나타 내는 변수 
		int M = sc.nextInt(); // 분을 나타내는 변수
		if(M < 45) { // 분이 45분 보다 적을 때
			H--;		// 시(hour) 1 감소
			M= 60 - (45 - M); 	// 분(min) 감소
		if(H < 0) {// 시간이 0보다 클 때 
			H = 23; // 시간을 23으로 변경
				
			}
			System.out.println(H + " " + M); // 시와 분을 나타냄
		}
		else { //그외의 경우(시와 분이 45보다 클 때의 경우)
			System.out.println(H + " " + (M - 45)); // 분-45 적용 후 시와 분을 출력 
		}
		
		
	}
}​

 

 

'백준' 카테고리의 다른 글

백준 2588번 문제(곱셈)  (0) 2024.04.15