티스토리 뷰

728x90
반응형

백준 온라인 저지(BOJ) 2884알람 시계

https://www.acmicpc.net/problem/2884

 

2884번: 알람 시계

상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만,

www.acmicpc.net

* 사용언어 : C언어, C++

 

1. 문제

입력받은 두 정수 H, M 은 최초 알람 시간 H시 M분을 의미

24시간 표현 기준으로 45분 전 시간을 출력 (불필요한 0 사용 X)

 

2. 풀이

1) M에서 45를 뺍니다. (M이 0보다 크거나 같으면 그대로 출력)

2) M이 45보다 작은 경우 60을 더하고 H에서 1을 뺍니다. (H가 0보다 크거나 같으면 그대로 출력)

3) H가 0보다 작은 경우 24를 더합니다. -1 밖에 될 수 없으므로 H를 23으로 변경합니다.

 

3. 코드

#include <stdio.h>

int main() {
	int h, m;
	scanf("%d %d", &h, &m);

	m -= 45;
	if (m < 0) {
		m += 60;
		h -= 1;

		if (h < 0) h = 23;
	}

	printf("%d %d", h, m);
	return 0;
}
728x90
반응형
댓글