문제는 다음과 같다.

풀이는 다음과 같다.
#include <stdio.h>
int main() {
int hh, mm;
scanf("%d %d", &hh, &mm);
if(mm >= 45){
printf("%d %d", hh, mm-45);
}
else if(hh > 0){
printf("%d %d", hh-1, (mm+60)-45);
}
else{
printf("23 %d", (mm+60)-45);
}
return 0;
}
먼저 시간과 분을 저장할 변수 hh, mm을 선언 해 준다.
scanf로 hh와 mm에 값을 할당 해 준다.
분이 45분보다 크거나 같으면, 시간은 그냥 출력하고, 분에 45분을 빼서 출력한다.
분이 45분보다 작고(위 if문), 시간이 0보다 크면 시간에 1을 빼고, 분에 60을 더한 후 45를 빼 출력한다.
분이 45분보다 작고(위 위 if문), 시간이 0보다 작거나 같으면(위 if문) 시간은 23으로 출력하고, 분은 60을 더한 후 45를 빼 출력한다.
'Layer7 > BaekJoon' 카테고리의 다른 글
BaekJoon - 10798: 세로읽기 (0) | 2024.04.07 |
---|---|
BaekJoon - 25304: 영수증 (0) | 2024.04.03 |
BaekJoon - 25314: 코딩은 체육과목 입니다 (0) | 2024.04.02 |
BaekJoon - 2588: 곱셈 (0) | 2024.04.02 |