1174 30분 전(if는 아직...)

문제

수호는 30분 전으로 돌아가고 싶은 1人 이다.

공백을 기준으로 시간과 분이 주어진다.

그러면 이 시간을 기준으로 30분전의 시간을 출력하시오.

예)

12 35  =====> 12 5

12 0 ======> 11 30

11 5 ======> 10 35

아직 조건문을 배우지 않았기 때문에 if나 3항연산자를 사용하지 않고 풀기 바랍니다.

금지 키워드 : if  / ? / switch


입력

시와 분이 입력된다.

(시의 범위 : 0~ 23)

(분의 범위 : 0~ 59)


출력

입력된 시간의 30분 전의 시간을 출력하시오.


입력 예시   

12 35


출력 예시

12 5


코드

#include  <stdio.h>

int main()
{
    int hour, minute, trans, i;
    scanf("%d %d", &hour, &minute);
    
    trans = (hour +24)* 60 + 1440;   

    // 24시간제 표현을 하므로 0시에서 23시로 차감될 수 있도록 1440분을 더한다.
    minute += trans;                         

   // trans(시간)값과 minute(분)값을 더한다.        
    
    hour = (minute-30) / 60-24;       // 나눈 몫을 구하고 다시 24시간을 빼주어 몇 시인지 구한다.
    minute = (minute-30)%60;        // 나눈 나머지를 구해 몇 분인지 구한다.
    
    printf("%d %d", hour, minute);
    
    return 0;
}

'Wargame > CodeUp' 카테고리의 다른 글

1158 특별한 공 던지기 2  (0) 2019.08.03
1180 만능 휴지통  (0) 2019.08.03
1173 30분전  (0) 2019.07.26
1162 당신의 사주를 봐드립니다 1  (0) 2019.07.26
1175 특별한 공 던지기 1  (0) 2019.07.26