코딩/백준
[백준][C] 2525. 오븐 시계
rivermoon
2022. 10. 2. 00:59
https://www.acmicpc.net/problem/2525
첫째 줄에는 정수형으로 빈칸을 사이에 두고 시와 분이 주어지며,
두 번째 줄에는 필요한 시간이 주어집니다.
예제 입력
17 40
80
예제 출력
19 0
해결 방법
시간을 더했을 때 분이 60보다 커지는 경우를 생각해야 합니다.
17 45에서 80분을 더하였을때 이를 고려하지 않으면 결과가 17 125으로 나오게 되겠죠.
여러 해결법이 있을 수 있지만, 간단하게 1시간은 60분이라는 것을 이용하여 해결하였습니다.
125분은 2시간 + 5분입니다. 즉 시에는 2를 더해주고, 분에는 2시간 (2 * 60분, 즉 120)을 빼주면
17(+2) 125(-120) = 19 5로 원하는 결과가 나오게 되죠.
코드
#include <stdio.h>
int main()
{
int h, m, time;
scanf("%d %d\n%d", &h, &m, &time);
m += time;
if (m >= 60){
int i = m / 60;
h += i;
m -= i * 60;
}
if (h >= 24) h -= 24;
printf("%d %d", h, m);
}
*22.10.03 설명 수정됨