입력
첫째 줄에는 현재 시각이 나온다. 현재 시각은 시 A (0 ≤ A ≤ 23) 와 분 B (0 ≤ B ≤ 59)가 정수로 빈칸을 사이에 두고 순서대로 주어진다. 두 번째 줄에는 요리하는 데 필요한 시간 C (0 ≤ C ≤ 1,000)가 분 단위로 주어진다.
출력
첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.)
조건문을 활용한 간단한 구현 문제이나 숏코딩을 보고 배울점이 있어 정리하는 포스팅이다.
#include <iostream>
using namespace std;
int main(){
int a,b,c;
cin >> a >> b >> c;
a += int(c/60); // 더해지는 c를 시간과 분으로 나눈뒤
b += c%60;
if (b>59) { // 아래의 조건문을 통해 예외 처리를 하면 된다.
a+=1;
b-=60;
}
if (a>23) {
a-=24;
}
cout << a << " " << b;
}
#import<iostream>
main(){int h,m,n;std::cin>>h>>m>>n;m+=n;h+=m/60;printf("%d %d",h%24,m%60);}
// 더해지는 n분을 현재의 m분에 그냥 더하고 나중에 나머지 60 연산을 하면 분이 된다.
// h시간의 경우 내 코드처럼 조건문을 통한 예외처리를 할 필요 없이 더해진 m분을 60으로 나눈 값을 더하고
// 나머지 24 연산을 하면 최종 시간이 된다.