BOJ 문제풀이

백준 2884번 c언어풀이

koreasunoo 2020. 5. 15. 00:02

시간을 입력했을 때, 그 시간의 45분 전을 출력하는 겁니다. (10 10 입력 --> 10시 10분, 출력: 9시 25분)

안녕하세요 이번에는 시와 분을 입력했을 때 그 시간 기준으로 45분 전 시간을 출력하는 문제를 풀 겁니다.

코드:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
	int a, b;
	scanf("%d %d", &a, &b);
	if (a < 24 && a!=0) {
		if (45 <= b) {
			printf("%d %d", a, b - 45);
		}
		else {
			printf("%d %d", a - 1, b + 15);
		}
	}
	else if (a == 0) {
		if (b >= 45) {
			printf("%d %d", a, b - 45);
		}
		else {
			printf("%d %d", 23, b + 15);
		}
	}
	return 0;
}

부가설명:

&&라는 기호를 처음 보실 겁니다. 쉽게 말해, "그리고"라고 해석하시면 됩니다.

if (a<24 && a!=0)를 해석하자면 a가 24 보다 작고, a가 0이 아닐 때입니다.

이 문제는 조심 하셔야 할 것이 있습니다.

 

바로 00시 24분을 입력했을때 11시 39분이 나오게 해야한다는 것입니다.

그래서 저도 a가 0일때와 아닐때로 나눴습니다.

'BOJ 문제풀이' 카테고리의 다른 글

백준 10950번 c언어풀이  (0) 2020.05.15
백준 2739번 c언어풀이  (0) 2020.05.15
백준 1330번 c언어풀이  (0) 2020.05.14
백준 1000번 c언어 풀이  (0) 2020.05.14
백준 10171번 c언어풀이  (0) 2020.05.14