[C언어 코드업 문제풀이] CodeUp 1173 : 30분전
ET의 공부/C언어 연습문제[ 코드업 ]2020. 1. 3. 23:03
코드업 1173번 30분전 문제 풀이 해답입니다.
1. 문제 설명
수호는 30분 전으로 돌아가고 싶은 1人 이다.
공백을 기준으로 시간과 분이 주어진다.
그러면 이 시간을 기준으로 30분전의 시간을 출력하시오.
예)
12 35 =====> 12 5
12 0 ======> 11 30
11 5 ======> 10 35
2. 입력
시와 분이 입력된다.
( 시의 범위 : 0~ 23)
(분의 범위 : 0~ 59)
3. 출력
입력된 시간의 30분 전의 시간을 출력하시오.
4. 입력 예시
12 35
5. 출력 예시
12 5
6. 문제 풀이
#include <stdio.h>
int main (void)
{
int hour, min;
scanf("%d %d",&hour, &min);
if(min - 30 >= 0){ //ex 31분
printf("%d %d", hour, min -30);
}
else{//시가 바뀌는 경우
hour--;
if(hour<0){hour =23;}
printf("%d %d", hour, 30+min);
}
return 0;
}
|
if(min - 30 >= 0){ //ex 31분
printf("%d %d", hour, min -30);
}
되돌리기전 시간이 30분이상일경우 분만 바뀌게 됩니다. ex) 11시 40분 -> 11시 10분
그것이 아니라 시간이 바뀌어야 할 경우는
else{//시가 바뀌는 경우
hour--;
if(hour<0){hour =23;}
printf("%d %d", hour, 30+min);
}
시간을 -1 해주지만 0시에서 -1이 아닌 23시이므로 if문을 통해 0보다 작을때 23시로 바꾸어 주며
30+min 을 통해 뒤돌아간 시간을 표현해줍니다. ex) 11시 20분 -> 10시 50분
'ET의 공부 > C언어 연습문제[ 코드업 ]' 카테고리의 다른 글
[C언어 코드업 문제풀이] CodeUp 1201 : 정수 판별 (0) | 2020.01.03 |
---|---|
[C언어 코드업 문제풀이] CodeUp 1180 : 만능 휴지통 (0) | 2020.01.03 |
[C언어 코드업 문제풀이] CodeUp 1172 : 세 수 정렬하기 (0) | 2020.01.03 |
[C언어 코드업 문제풀이] CodeUp 1171 : 당신의 학번은? 2 (0) | 2020.01.03 |
[C언어 코드업 문제풀이] CodeUp 1170 : 당신의 학번은? 1 (0) | 2020.01.03 |
댓글()