728x90
반응형
SMALL
https://www.acmicpc.net/problem/2884
제출코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
StringTokenizer st = new StringTokenizer(str, " ");
int H = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
if(M < 45){
H--;
M = 60 - (45-M);
if(H < 0 ){
H = 23;
}
System.out.println(H + " " + M);
}
else{
System.out.println(H + " " + (M-45));
}
}
}
코드설명
Scanner와 buffered.로 입력받는 방법이 있는데 필자는 buffered로 입력받는 방법을 사용하여 문제를 풀었다.
str에서 br.readLine()함수로 한줄을 읽어와서 StringTokenizer객체를 활용해 한줄로 된 str을 공백을 기준으로 나눔
st의 token에서 nextToken함수 호출하여 처음 값을 정수형으로 변환
M이 45보다 작으면 시간 값도 1 감소해야하니 H값 1 감소 M은 45에서 M을 뺸 후 60에서 뺀다
H가 0이면 00시 즉 24시라는뜻이므로 H를 23으로 설정
M이 45보다 크면 분 단위만 줄이면 되니까 M에서 45를 뺀 값 출력
728x90
반응형
LIST
'백준[자바]' 카테고리의 다른 글
[백준/Java] - 10807번 개수 세기 (0) | 2025.02.12 |
---|---|
[백준/Java] - 2480번 주사위 세개 (1) | 2025.02.11 |
[백준/Java] - 14681번 사분면 고르기 (1) | 2025.02.09 |
[백준/Java] - 1330 두 수 비교하기 (1) | 2025.02.07 |
[백준/JAVA] - 9498 시험 성적 (0) | 2025.02.07 |