문제 출처 https://www.acmicpc.net/problem/2884
내가 작성한 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int h, m;
h = sc.nextInt(); //시
m = sc.nextInt(); //분
if(m<45) {
h=h-1;
m= 60+(m-45);
if(h<0) {
h=23;
}
System.out.println(h+" "+m);
}
else {
System.out.println(h+" "+(m-45));
}
}
}
45분씩 일찍 일어나기 위해서는 분에서 45분을 빼준다.
ex) 10시 50분 -> 50분 - 45분 = 5분
=>10시 5분
하지만, 분이 45분 이하일 경우에는 "시"(h-1)도 같이 줄어야한다.
ex) 10시 10분 -> 10분 - 45분 = -35분 => 60-35 = 25분
=> 9시 25분
또한, 24시간 표현을 사용하기 때문에 0시 시간대 45분전은 23시이다. 그러므오 h<0일 경우 h=23으로 고정한다.
ex) 0시 30분 -> 23시 45분