• 문제
이전 알람시계에 이어서 시계 시리즈이다.
알람시계 문제에서도 0에서 23으로 넘어가는 부분을 주의해야 했듯이 이 문제에서는 반대로 24에서 25로 넘어갈 때 0부터 다시 시작한다는 점을 주의해야한다.
• 풀이
알람시계 문제에서는 시간에 대해 뺄셈을 하는 문제였다면 이번에는 덧셈을 하는 문제이다.
문제풀이에 앞서서 문제에서는 입력값의 변수를 A,B,C라고 칭하였지만 문제를 설명할 때는
A를 H(시)
B를 M(분)
C를 cookTime(요리시간)이라고 설명하겠다.
예시를 들어 이해해보자
만약 H가 1, M은 40, cookTime은 90을 받았다고 가정해보자
이 때 먼저 M + cookTime값을 구해주면 130의 값을 구할 수 있다.
여기서 60분은 1시간으로 바뀌므로 130 / 60을 하면 2가되고 이 값을 H에 더해주면 H의 값을 구할 수 있다.
130 / 60의 나머지는 10이다. 이 값은 곳 M값이 된다.
식으로 정리해보자면
H = H + (M / 60)
M = M % 60 이다.
단, 여기서 H가 24이상이 될경우 H는 0부터 셈 해야하기 때문에
H = H - 24 해주어야한다.
그럼 코드로 살펴보자
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int H = sc.nextInt();
int M = sc.nextInt();
int cookTime = sc.nextInt();
M = M + cookTime;
H = H + (M / 60);
if(H >= 24) H = H - 24;
M = M % 60;
System.out.println(H +" "+ M);
}
}
H가 24이상일 경우 H = H - 24해줌으로써 27이면 3으로, 24이면 0으로 변환해 줄 수 있다.
•마무리
매번 쓸 때마다 느끼지만 필자의 어휘력이 좋지않아 잘 쓰고있는지 모르겠다..
남에게 설명한다 생각하고 글을 쓰려니 더 어렵고 모든 문장들이 어색해보인다..
만약 혹시라도 이해되지 않는 부분이있다면 댓글로 남겨줬으면 좋겠다.
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 2739 - 구구단 (0) | 2023.10.17 |
---|---|
[백준] 2480 - 주사위 세 개 (1) | 2023.10.17 |
[백준] 2884 - 알람 시계 (1) | 2023.10.17 |
[백준] 14681 - 사분면 고르기 (0) | 2023.10.16 |
[백준] 2753 - 윤년 (1) | 2023.10.15 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!