#include<stdio.h>



int main() {


int H, M;

int k = 45;


while (1) {


scanf_s("%d" "%d", &H, &M);


if ((H < 0 || H > 23) || (M < 0 || M > 59))

printf(" 유효한 수로 다시 입력하시오. \n ");

else

break;

}


if (H - 1 < 0) {

if (M - k < 0) {

H = 23;

M = 60 + M - k;


}

else if (M - k > 0) {

H = 23;

M = M - k;

}

}

if(H - 1 > 0){

if (M - k < 0) {

H = H - 1;

M = 60 + M - k;


}

else if (M - k > 0) {

H = H - 1;

M = M-k;

}

}



printf("%d, %d", H, M);

 }



다른 입력 값들은 대충 맞게 뜨는데

0 0 넣으면 자꾸 22:30으로 떠요.. 어디가 문제인지 모르겠어요...


또, 문제 조건에서 24시간 표현 중 ~~ 이 대목은 어떻게 처리해야 되는건가요?

조건에서 M이 59까지로 입력값 제한해놨는데 ...

ㅜㅜ