728x90
728x90
https://www.acmicpc.net/problem/2884
=문제푸는 팁=
문제 조건 : 하루의 시작은 0:0, 끝은 23:59, 시간 표현할 때 불필요한 0은 생략하기
H에서 제일 조심해야하는 부분 : 0에서 M-45했을 때, 23이 되야한다.
M에서 제일 조심해야하는 부분 : 45미만 상태에서 M-45했을 때는, H-1을 한 후, 0까지 -45하고,
남은 수는 60에서 또 -를 진행해야 한다.
=해설=
1단계 : M<45 일 때 , H가 0이라면, H는 23이 된 후, 60-(45-M)
1-2단계 : H가 0이 아니라면, H-1 후, 60-(45-M)
2단계 : M>45 일 때, H는 그대로 M-45
출력하는 위치가 중요한데, 1단계 전체 끝나고 나서 출력하고,
else를 사용해서 2단계 진행하고나서 한 번 출력
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int H = scan.nextInt();
int M = scan.nextInt();
scan.close();
if(M<45) {
if(H==0) {
H=23;
M=60-(45-M);
}else {
H--;
M=60-(45-M);
}
System.out.println(H+" "+M);
} else {System.out.println(H+" "+(M-45));
}
}
}
728x90
'백준 코딩테스트 > if문 + for문' 카테고리의 다른 글
[백준] [자바] 8393번 : 합 ( 3단계 : for문 ) (0) | 2021.09.03 |
---|---|
[백준] [자바] 10950번 : A+B-3 (3단계 : for문) (0) | 2021.09.03 |
[백준] [자바] 2739번 : 구구단 (3단계 : for문) (0) | 2021.09.02 |
[백준] [자바] 14681번 : 사분면 고르기 (2단계 : if문제) (0) | 2021.09.02 |
[백준] [자바] 2753번 : 윤년 (2단계 : if문제) (2) | 2021.09.01 |