백준 2884번 구현 문제를 Java를 이용해 풀어봤다.
시간 값은 변하지 않고 분 값만 바뀔 경우와, 둘 모두 변하는 경우 두 가지로 나누어서 조건대로 잘 처리해주면 쉽게 해결이 가능한 문제다. 간단한 문제라 추가적인 설명 없이 코드만 봐도 쉽게 이해가 가능하기 때문에 코드만 첨부하고 마친다.
import java.io.*;
import java.util.*;
public class boj2884 {
public static void main(String args[]) throws IOException {
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bfw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer stk = new StringTokenizer(bfr.readLine());
int hours = Integer.parseInt(stk.nextToken());
int minutes = Integer.parseInt(stk.nextToken());
if(minutes-45<0){ // 1. 시간 값이 바뀔 경우
minutes += 15;
if(hours == 0)
hours = 23;
else
hours -= 1;
}
else{ // 2. 시간 값이 그대로일 경우, 분 값만 바뀌면 됨
minutes -= 45;
}
bfw.write(hours + " " + minutes);
bfw.close();
}
}