문제 정보
제목 : 오븐 시계
숫자 : 2525호
사용 언어: 자바
문제 링크
https://www.acmicpc.net/problem/2525
2525호: 오븐 시계
첫 줄에서 끝나는 시간의 시와 분 사이에 공백을 두고 출력합니다.
(단, 시는 0부터 23까지의 정수이고, 분은 0부터 59까지의 정수입니다.
디지털 시계는 23시 59분부터 1분이 지나면 0시가 됩니다.
)
www.acmicpc.net
시간 제한 | 메모리 제한 |
1 초 | 128MB |
문제
코이전자는 건강하고 맛있는 오리훈제 요리를 손쉽게 만드는 인공지능 오븐 개발에 도전하고 있습니다.
인공지능 오븐을 사용하는 방법은 훈제오리 재료를 인공지능 오븐에 적당량 넣는 것이다.
그러면 인공지능 오븐이 자동으로 오븐 로스팅 시간을 분 단위로 계산해줍니다.
또한 KOI 전자의 AI 오븐 전면에는 훈제 오리 요리가 완성되었음을 사용자에게 알려주는 디지털 시계가 있습니다.
훈제 오리의 시작 시간과 오븐 로스팅에 필요한 시간을 분 단위로 입력하여 오븐 로스팅 종료 시간을 계산하는 프로그램을 작성하십시오.
입력
첫 번째 줄에는 현재 시간이 포함됩니다.
현재 시간은 A 시(0 ≤ A ≤ 23), B 분(0 ≤ B ≤ 59) 순서로 공백으로 구분된 정수로 표시됩니다.
두 번째 줄은 요리 시간 C(0 ≤ C ≤ 1,000)를 분 단위로 나타냅니다.
인쇄
첫 줄에서 끝나는 시간의 시와 분 사이에 공백을 두고 출력합니다.
(단, 시는 0부터 23까지의 정수이고, 분은 0부터 59까지의 정수입니다.
디지털 시계는 23시 59분부터 1분이 지나면 0시가 됩니다.
)
I/O 예시
내 솔루션
BufferedReader와 StringTokenizer를 사용하여 현재 시간(H:M)과 조리 시간(time)을 정수로 입력하여 저장한다.
M + 시간이 60 미만이면 M에 시간을 추가합니다.
그렇지 않으면 hTime을 0으로 선언합니다.
루프를 사용하여 요리에 필요한 시간을 hTime 시간 시간 분으로 바꿉니다.
시간 환산 후 M+시간이 60보다 큰지 비교한다.
분 계산이 끝나면 조건에 따라 H를 계산하여 알맞게 출력한다.
암호
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String() args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int H = Integer.parseInt( st.nextToken() );
int M = Integer.parseInt( st.nextToken() );
int time = Integer.parseInt( br.readLine() );
if( M + time < 60) {
M += time;
} else {
int hTime = 0;
while ( time >= 60) {
hTime += 1;
time -= 60;
}
if( M + time >= 60) {
M += time - 60;
H += 1;
} else {
M += time;
}
if ( H + hTime > 23 ) {
H += hTime - 24;
} else {
H += hTime;
}
}
bw.write(H + " " + M + "\n");
bw.flush();
bw.close();
br.close();
}
}