the phoenix 2020. 2. 25. 19:02

백준 2884 문제

 

 

문제 풀이

 

우선, h와 m을 나눠서 생각해보자. 

 

1. h가 0일 경우 / h가 0이 아닐 경우

2. m이 45 이상일 경우 / m이 45 미만일 경우

 

위에서 나눈걸 다시 보자면,

1) m이 만약 45이상이라면 h가 어떤 수이든 관계없이 printf("%d %d\n", h, m-45); 를 하면 될 것이다.

 

m이 만약 45보다 작다면, h가 0일때와 0이 아닐 때로 나눠서 생각해야 한다.

 

2) m이 45보다 작고, h가 0일 경우

printf("%d %d\n", 23, (minute - 45)+60);

 

3) m이 45보다 작고, h가 0이 아닐 경우 

printf("%d %d\n", hour-1, (minute - 45) + 60);

 

전체 코드는 아래와 같다.