https://www.acmicpc.net/problem/2884
코드설명
구현 문제입니다.
M(분)이 45분 미만이라면,
시간이 바뀌기에 H = ((H-1) + 24) % 24 를 통해 시간을 처리합니다.
M분에서 45분을 뺀다면 음수가 됩니다. 그러기에 60을 더해서 양수로 바꿔줍니다.
만약 M이 45 이상이라면, 시간이 바뀌지 않으므로 M에서 45분만 뺴줍니다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static int H, M;
public static int answer = 0;
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
H = Integer.parseInt(st.nextToken());
M = Integer.parseInt(st.nextToken());
if(M < 45) {
H = ((H - 1) + 24 )% 24;
M = M - 45;
M = (M + 60) % 60;
}else {
M = M - 45;
}
System.out.println(H +" "+ M);
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1904 01타일 - 동적계획법(Dynamic Programming, DP) JAVA (0) | 2023.11.05 |
---|---|
[백준] 11729 하노이 탑 이동 순서 - 재귀 JAVA (0) | 2023.11.05 |
[백준] 1520 내리막 길 - 재귀(DFS) + DP JAVA (0) | 2023.11.03 |
[백준] 2056 작업 - 위상정렬 Topology Sort JAVA (0) | 2023.10.31 |
[백준] 2631 줄세우기 - DP + LIS JAVA (0) | 2023.10.30 |