개발 공부/백준 문제 풀기
백준 - 2884번 알람 시계 [자바]
by 코딩호야
2022. 10. 5.
문제풀이
import java.util.Scanner;
public class Bj_2884 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int H = in.nextInt();
int M = in.nextInt();
in.close();
if(M < 45) {
H--;
M= 60 - (45 - M);
if(H < 0) {
H = 23;
}
System.out.println(H + " " + M);
}
else {
System.out.println(H + " " + (M - 45));
}
}
}
일단 시간과 분을 Scanner 로 통해서 각각 받는다.
그후 if 문 안의 조건을 45분의 시간을 떙기려는 것이기 때문에 만약 입력한 분이 45가 안되었을때를 조건으로 넣고
M < 45 라면 시간을 -1 해준다. ( H - - ) 그리고 M 은 분은 60 이기때문에 60 - ( 45 - 입력한 분값) 으로 해주면된다.
그후 예를들어 입력갑이 0 , 30 이라면 H 가 - - 되어서 H 가 - 1 로 출력될수 있기때문에 if 문안에 if 문으로 조건을 하나 더 걸어준다 . H < 0 이라면 H = 23 으로 대입하는 조건을 넣어주면 0시와 45 분 이하의 분이 들어오더라도 문제없다.
나머지 else 문에는 문제 그대로 출력해주면 되기 떄문에 어려움 없이 출력이 가능하다.