티스토리 뷰
문제 출처 - https://www.acmicpc.net/problem/2884
시행착오(Trial&Error)
대입 연산자(=) 대신 등호(==)로 잘못 작성하여 컴파일 에러가 발생했다.

풀이(Solution)
입력 시간 대비 45분 전의 시간을 알람 시간으로 설정하는 문제이다.
시간을 앞으로 당기는 작업이므로, 24시는 고려할 필요 없이 0시만 고려하면 된다.
즉, 0시를 기준으로 앞으로 당기게 되면, 0시 대신 23시로 바꿔줘야 한다.
따라서, 분기는 입력받은 시간이 0시인지 아닌지를 기준으로 해주면 된다.
그리고, 입력받은 알람시간의 분(minute)이 45분 이전인지 아닌지로 그 분기 안에서 나눠주면 된다.
코드(Code)
import java.util.Scanner;
class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int hour = sc.nextInt();
int minute = sc.nextInt(); // (0 ≤ hour ≤ 23, 0 ≤ minute ≤ 59)
if(hour == 0) {
if(minute < 45) {
hour = 23;
minute = 60 - (45 - minute);
} else {
minute -= 45;
}
} else {
if(minute < 45) {
hour--;
minute = 60 - (45 - minute);
} else {
minute -= 45;
}
}
System.out.println(hour + " " + minute);
}
}'알고리즘 > 문제풀이 - 백준' 카테고리의 다른 글
| [백준 10952번] A+B - 5(JAVA) (0) | 2022.10.28 |
|---|---|
| [백준 2439번] 별 찍기 - 2(JAVA) (0) | 2022.10.27 |
| [백준 2438번] 별 찍기 - 1(JAVA) (0) | 2022.10.26 |
| [백준 2525번] 오븐 시계(JAVA) (0) | 2022.10.25 |
| [백준 2480번] 주사위 세개(JAVA) (0) | 2022.10.25 |
댓글
공지사항
