2525번 - 오븐 시계
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
int min = (a*60)+b;
min += c;
int hour = (min/60)%24; // 시간을 구하는 것이므로 min/60일 것 같은데, (min/60)%24으로 하는 이유가 궁금합니다.
int minute = min%60;
System.out.println(hour + " " + minute);
}
%24를 하지 않으면 0~23시 범위뿐만이 아니라 24, 25, 26시 등이 그대로 출력됩니다.
시간을 시각으로 바꾸어야 하기 때문입니다.
min 변수가 저장하고 있는 값의 의미는 "자정으로부터 지난 분"입니다.
따라서 min/60의 의미는 "자정으로부터 지난 시간"이 됩니다.
우리가 구해야 하는 것은 종료되는 시각이므로, 예컨대 25시간이 지났다면 이를 1시로 바꾸어주어야 합니다. 이를 위해 24로 나눈 나머지를 사용합니다.
댓글을 작성하려면 로그인해야 합니다.
christmas_tree 1년 전
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
int min = (a*60)+b;
min += c;
int hour = (min/60)%24; // 시간을 구하는 것이므로 min/60일 것 같은데, (min/60)%24으로 하는 이유가 궁금합니다.
int minute = min%60;
System.out.println(hour + " " + minute);
}
}