Code
#include <stdio.h>
int main()
{
int A, B, C, D;
int h = 0, m = 0, s = 0;
scanf_s("%d %d %d", &A, &B, &C);
scanf_s("%d", &D);
h = D / 3600;
m = (D % 3600) / 60;
s = (D % 3600) % 60;
C += s;
if (C > 59)
{
C -= 60;
B += 1;
}
B += m;
if (B > 59)
{
B -= 60;
A += 1;
}
A += h;
if (A > 23)
{
A %= 24;
}
printf("%d %d %d", A, B, C);
return 0;
}
Key Point
- 문제가 간단해 딱히 어려운 점은 없었지만 세 개의 if문 중 마지막 if문 안에 A에 24를 나눈 나머지를 A에 넣은 이유는 분과 초는 애초에 60으로 나눴던 값을 넣어주므로 60보다 클 수가 없지만 A-=24를 해줬을 때 A가 48보다 클 경우 기준을 넘어가버린다. 이 사실을 간과한 채 꽤 오랜시간동안 헤맸다.