Difficulty 2
[문제]
[코드 및 결과]
#include <iostream>
int main(int argc, char** argv) {
int T, t_hour, t_minute;
scanf("%d", &T);
for (int t = 0; t < T; t++) {
int hour[2], minute[2];
scanf("%d %d %d %d", &hour[0], &minute[0], &hour[1], &minute[1]);
t_hour = hour[0] + hour[1];
t_minute = minute[0] + minute[1];
if (t_hour > 12){
t_hour -= 12;
}
if (t_minute >= 60) {
t_hour += 1;
t_minute -= 60;
}
printf("#%d %d %d\n", t+1, t_hour, t_minute);
}
return 0;
}
[설명]
테스트케이스 T와 함께 최종적으로 구할 시, 분을 나타낼 t_hour, t_minute을 각각 정수로 선언한다.
시간을 두 개 입력 받는다고 했으므로 배열 hour, minute을 만들어 scanf 함수로 입력 받을 수들을 각각의 자리에 저장한다.
최종적으로 구할 시와 분을 더해주는데 여기서 시는 1 이상 12 이하라고 했으므로 t_hour가 12를 초과할 경우 거기서 12를 빼준다.
분은 0 이상 59 이하라고 했으므로 t_minute이 60보다 클 경우 시간에는 1을 더해주고 분에서는 60을 빼주도록 한다.
마지막에는 printf 함수를 통해 테스트케이스와 함께 위의 과정을 통해 구한 시와 분을 출력하도록 한다.
'C > SWEA' 카테고리의 다른 글
[SWEA] #1948. 날짜 계산기 (0) | 2021.10.01 |
---|---|
[SWEA] #2025. N줄덧셈 (0) | 2021.09.27 |
[SWEA] #2068. 최대수 구하기 (0) | 2021.09.26 |
[SWEA] #1284. 수도 요금 경쟁 (0) | 2021.09.16 |
[SWEA] #2025. 몫과 나머지 출력하기 (0) | 2021.09.16 |
댓글