반응형
https://www.acmicpc.net/problem/6812
간단한 계산, 구현 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
시간 t를 선언 후 t를 입력해줍니다.
📔 풀이과정
세 가지 경우가 있습니다.
1. 계산된 시간이 음수면 : 그 시간 + 2400을 해줍니다.
2. 계산된 시간이 2400이면 : 그 시간 - 2400을 해줍니다.
3. 마지막 두 자릿수가 60만 넘어가면 시간을 1더하고 -60을 빼주기만 하면 됩니다.
📔 정답출력
계산된 시간과 문자열을 적절히 출력해줍니다.
📕 Code
#include <bits/stdc++.h>
using namespace std;
int t;
int convert(int ti){
int tmp = ti;
if(ti < 0) tmp = ti + 2400;
if(ti >= 2400) tmp = ti - 2400;
if(tmp % 100 >= 60) tmp = 100 * (tmp / 100 + 1) + tmp % 100 - 60;
if(tmp >= 2400) tmp -= 2400;
return tmp;
}
int main(){
cin >> t;
cout << t << " in Ottawa\n";
cout << convert(t - 300) << " in Victoria\n";
cout << convert(t - 200) << " in Edmonton\n";
cout << convert(t - 100) << " in Winnipeg\n";
cout << t << " in Toronto\n";
cout << convert(t + 100) << " in Halifax\n";
cout << convert(t + 130) << " in St. John's";
}
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - 백준(BOJ) 4632 : Copier Reduction (0) | 2021.12.04 |
---|---|
(C++) - 백준(BOJ) 6810 : ISBN (0) | 2021.12.03 |
(C++) - 백준(BOJ) 4619 : 루트 (0) | 2021.12.02 |
(C++) - 백준(BOJ) 4562 : No Brainer (0) | 2021.12.02 |
(C++) - 백준(BOJ) 4084 : Viva la Diferencia (0) | 2021.12.01 |