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);

}

}

djm03178   1년 전

%24를 하지 않으면 0~23시 범위뿐만이 아니라 24, 25, 26시 등이 그대로 출력됩니다.

lcr7324   1년 전

시간을 시각으로 바꾸어야 하기 때문입니다.

min 변수가 저장하고 있는 값의 의미는 "자정으로부터 지난 분"입니다.

따라서 min/60의 의미는 "자정으로부터 지난 시간"이 됩니다.

우리가 구해야 하는 것은 종료되는 시이므로, 예컨대 25시간이 지났다면 이를 1시로 바꾸어주어야 합니다. 이를 위해 24로 나눈 나머지를 사용합니다.

댓글을 작성하려면 로그인해야 합니다.