728x90
https://www.acmicpc.net/problem/2884
package baekjoon.level_2;
import java.util.Scanner;
public class A_2884 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int H = sc.nextInt();
int M = sc.nextInt();
if (M < 45) {
if (H == 0) H = 24;
System.out.println(H - 1 + " " + (60 - 45 + M));
} else {
System.out.println(H + " " + (M - 45));
}
}
}
내 문제 풀이부터 공개 !
정말 쉬운 문제지만, 내가 고민 했던 점은 한 시간은 60분인데 사용자가 입력한 분이 45분보다 작으면 어떻게 계산할지였다.
그렇지만 하나도 어렵지 않다 !! 60분에서 45분을 먼저빼고 사용자가 입력한 분을 더해주면 된다.
예를 들면 10시 10분을 입력했다면, 60 - 45 + 10을 해주면 25다. 시간인 10에서 1만 빼주면 9 : 25 !
손쉽게 원하던 45분 전 시간을 얻을 수 있다.
그리고 사용자가 입력한 시간이 00:10 이런식으로 시간이 0일 수도 있으니, 이럴 땐 시간에 24를 넣어서 계산해주면 된다!
알고리즘 문제 풀이 너무 재밌다... 점점 어려워지겠지? 그렇지만 풀어주마
728x90
'Algorithm' 카테고리의 다른 글
백준 - 2903번 중앙 이동 알고리즘 (Java 풀이) (0) | 2025.01.05 |
---|---|
백준 - 10810번 공 넣기 (Java 풀이) (0) | 2024.12.02 |
백준 - 2480번 주사위 세개 (0) | 2024.10.24 |
백준 - 2525번 오븐 시계 (0) | 2024.10.15 |
백준 - 2753번 윤년 (3) | 2024.10.11 |