https://www.acmicpc.net/problem/2884
2884번: 알람 시계
문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. 이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다. 바로 "45분 일찍 알람 맞추기"이다. 이 방법은 단순하다. 원래 맞춰져있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피
www.acmicpc.net
입력된 시간에 45분을 뺀 시간을 출력하는 문제이다.
분에서 45분을 빼고 분이 0보다 작을 경우 시간에서 1시간을 빼고 분에 60분을 추가하는 방법이 있고
시간을 분으로 환산한 후에 45분을 빼고 분을 다시 시간:분으로 바꾸는 방법이 있다.
아래의 코드는 후자의 방법으로 구현하였다.
분이 0보다 작아지면 전날로 돌아가기 때문에 24시간을 추가해주었다.
#include <stdio.h>
int main()
{
int h, m;
scanf("%d %d", &h, &m);
int tm = h * 60 + m - 45;
if (tm < 0)
tm += 24 * 60;
printf("%d %d", tm / 60, tm % 60);
}
'Problem Solving' 카테고리의 다른 글
[BOJ 2193] 이친수 (0) | 2020.01.13 |
---|---|
[BOJ 1932] 정수 삼각형 (0) | 2020.01.13 |
[BOJ 1924] 2007년 (0) | 2020.01.03 |
[BOJ 9095] 1, 2, 3 더하기 (0) | 2020.01.02 |
[BOJ 2163] 초콜릿 자르기 (0) | 2020.01.02 |