본문 바로가기
Problem Solving

[BOJ 2884] 알람 시계

by Ladun 2020. 1. 3.

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