반응형
1. 문제
2525번: 오븐 시계
첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.)
www.acmicpc.net
2. 풀이
입력된 시간과 분에
요리시간을 더해주면 되는 문제다.
여기서 고려해야 할 점은 총 3가지다.
1) 입력된 분과 요로 소요시간을 합쳤을 때 60분을 넘는가?
2) 60분을 넘는다면
2-1) 시간이 23시간을 넘는가?
2-2) 시간이 23을 넘지 않는다면
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int H = scan.nextInt(); // 시간
int M = scan.nextInt(); // 분
int time = scan.nextInt(); //소요시간
scan.close();
int totalMinutes = M + time; //입력된 분과 요리 소요시간을 합친 시간
if((totalMinutes) < 60) { //입력된 분과, 요리 소요시간 분이 60분 이하인 경우
System.out.println(H + " " + totalMinutes);
}
else { // 입력된 분과, 요리하는 데 필요한 분이 60분 이상인 경우
int restCount = totalMinutes % 60; // 분 부분을 나타내기 위해
int quotient = (totalMinutes / 60); //분의 크기만큼 시간을 늘려주는 변수
//185분이 totalMinutes라면 시간 부분에 +3이 추가되어야 한다. 이 3이 quotient에 저장된다.
for (int i=1; i <= quotient; i++){ //분이 60분 이상인 경우 60분 단위로 시간이 1씩 증가하도록 한다.
H++;
}
if (H > 23){
int hCount = H - 24; //시간은 0~23까지 표시가 가능하니까, 시간이 24인 경우는 24로 빼주도록 한다.
System.out.println(hCount + " " + restCount);
}
else { //시간이 23시 이하라면
System.out.println(H + " " + restCount);
}
}
}
}
내가 위에 작성한 건
돌악서 가는 방식이었다.
찾아보니 더 쉬운 방법도 있었다.
반응형
'IT > BaekJoon' 카테고리의 다른 글
[백준/JAVA] 2739 구구단 문제 (0) | 2023.03.12 |
---|---|
[백준/JAVA] 2480 주사위 세개 (0) | 2023.03.05 |
[백준/JAVA] 14681 사분면 고르기 (0) | 2023.02.12 |
[백준/JAVA] 2753 - 윤년 : 그래서 윤년이 뭘까? (0) | 2023.01.15 |
[백준/JAVA] 9498 - 시험성적 (0) | 2023.01.14 |