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 함수를 통해 테스트케이스와 함께 위의 과정을 통해 구한 시와 분을 출력하도록 한다.
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
'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 |
댓글