728x90
//No.2884
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int hour = sc.nextInt();
int min = sc.nextInt();
if( min-45 >= 0) {
min = min - 45;
} else if( min-45 < 0) {
hour = hour - 1;
min = min + 15;
}
if( hour == -1) {
hour = 23;
}
System.out.println(hour + " " + min);
sc.close();
}
}
로직만 보면 간단합니다.
시간에대한 변수 hour와 분에 대한 변수 min을 선언하고 min에 45를 뺏을때, 즉 45분 전을 계산 할때 min-45가 0보다 크거나 같다면 시간(hour)는 변함이 없어도 괜찮지만 0보다 작다면 시간이 한시간 줄어야합니다.
시간이 1시간 줄었다면 45분 전이니까 min에 15를 더해야겠죠?
또한 예외와 같은 상황이 있습니다.
0시 30분을 입력했다고 예를 들었을때 -1시 45분이 나오기 때문이죠.
따라서 hour가 -1 일경우에는 hour를 23으로 수정해줍니다.
728x90
'알고리즘 > 백준(backjoon)' 카테고리의 다른 글
[Baekjoon]백준 NO.10950 - A+B-3 / Java(자바) (0) | 2021.05.02 |
---|---|
[Baekjoon]백준 NO.2739 - 구구단 / Java(자바) (0) | 2021.05.01 |
[Baekjoon]백준 NO.14681 - 사분면 고르기 / Java(자바) (0) | 2021.04.29 |
[Baekjoon]백준 NO.2753 - 윤년 / Java(자바) (1) | 2021.04.27 |
[Baekjoon]백준 NO.9498 - 시험 성적 / Java(자바) (0) | 2021.04.26 |