[C언어 백준] 2884번 알람 시계

⏰2883번 알람시계

1. 문제

: 45분 일찍 알람 설정하기

2. 입력

: 첫째 줄에 두 정수 H와 M이 주어진다. (0 ≤ H ≤ 23, 0 ≤ M ≤ 59)
24시간 표현에서 하루의 시작은 0:0(자정)이고, 끝은 23:59(다음날 자정 1분 전)이다.

3. 출력

: 설정해야 하는 알람 시간을 출력

⚙ 나의 제출 답안

c
#include<stdio.h>

int main(void) {
	int a, b;
	scanf("%d", &a);
	scanf("%d", &b);

	if (a >= 1 && a <= 23) {
		if(b>=0&&b<=44)
			printf("%d %d", a - 1, b + 15);
		else if (b >= 45 && b <= 59) 
			printf("%d %d", a, b- 45);
		}
	else if(a==0) {
		if (b >= 0 && b <= 44)
			printf("%d %d", 23, b + 15);
		else if (b >= 45 && b <= 59)
			printf("%d %d", 0, b - 45);
		}
    return 0;
}

Hour : <1이상 23이하> , <0> 분리

0일 때는 -1이 아닌 23으로 나타내 주어야 하기 때문이다.

Minute : <0이상 44이하> , <45이상 59이하> 분리

44까지는 15를 더해도 60을 넘지 않지만 45부터는 60을 넘게 되어 45를 빼는 방향으로 분리시켜주어야 한다.

💡 내가 놓쳤던 부분

Minute이 0 이상 44이하 일때는 Hour 값을 -1 하지 않아도 되는데 그 사실을 간과하였다. 그래서 수많은 오류를 시도하고 또 시도하고 또 시도하게 되는 상황에 처했었다.

백준을 풀다보면 쉬운 문제도 있고 어려운 문제도 골구루 이루어져 있어서 확실히 연습이 되는 것 같다. 현 시점에서 정확히 6일 후 C언어 중간고사를 본다. 제발 잘보자

좋은 웹페이지 즐겨찾기