Problem Statement
The time machine has a wall clock with two hands: a small hand that shows the hour and a large hand that shows the minutes. Both hands move in discrete steps. The minute hand moves to show the correct time whenever the number of minutes reaches a multiple of 5. The hour hand moves to show the correct time each whole hour. This means that at any moment, the hour hand points to one of the numbers 01, 02, 03, ..., 11, and 12. Additionally, at any moment, the minute hand also points to one of those numbers, but we interpret them as minutes: :05, :10, :15, ..., :55, and :00.
The time machine behaves in a peculiar way: when activated, it jumps to such a time that the two hands on the clock switch positions. For example, suppose the current time is 11:20. On the clock, the hour hand points to 11 and the minute hand points to 04 (that represents :20). As Elly activated the time machine, the hands switched positions: now the hour hand points to 04 and the minute hand points to 11. Thus, the time machine jumped to the time 04:55. See the sample test cases for other examples of how the time machine works.
You are given the current time in the
Definition
- Class:
- EllysTimeMachine
- Method:
- getTime
- Parameters:
- String
- Returns:
- String
- Method signature:
- String getTime(String time)
- (be sure your method is public)
Notes
- Please note that the required time formatting always requires two digits both for the hour and the minutes (i.e. the numbers are padded with leading zeroes when needed).
Constraints
- time will contain exactly 5 characters and will be formatted as "HH:MM".
- HH will be one of {01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12}.
- MM will be one of {00, 05, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55}.
Examples
"11:20"
Returns: "04:55"
The example from the problem statement.
"02:25"
Returns: "05:10"
"06:30"
Returns: "06:30"
"05:55"
Returns: "11:25"
"03:45"
Returns: "09:15"
"01:00"
Returns: "12:05"
"01:05"
Returns: "01:05"
"01:10"
Returns: "02:05"
"01:15"
Returns: "03:05"
"01:20"
Returns: "04:05"
"01:25"
Returns: "05:05"
"01:30"
Returns: "06:05"
"01:35"
Returns: "07:05"
"01:40"
Returns: "08:05"
"01:45"
Returns: "09:05"
"01:50"
Returns: "10:05"
"01:55"
Returns: "11:05"
"02:00"
Returns: "12:10"
"02:05"
Returns: "01:10"
"02:10"
Returns: "02:10"
"02:15"
Returns: "03:10"
"02:20"
Returns: "04:10"
"02:25"
Returns: "05:10"
"02:30"
Returns: "06:10"
"02:35"
Returns: "07:10"
"02:40"
Returns: "08:10"
"02:45"
Returns: "09:10"
"02:50"
Returns: "10:10"
"02:55"
Returns: "11:10"
"03:00"
Returns: "12:15"
"03:05"
Returns: "01:15"
"03:10"
Returns: "02:15"
"03:15"
Returns: "03:15"
"03:20"
Returns: "04:15"
"03:25"
Returns: "05:15"
"03:30"
Returns: "06:15"
"03:35"
Returns: "07:15"
"03:40"
Returns: "08:15"
"03:45"
Returns: "09:15"
"03:50"
Returns: "10:15"
"03:55"
Returns: "11:15"
"04:00"
Returns: "12:20"
"04:05"
Returns: "01:20"
"04:10"
Returns: "02:20"
"04:15"
Returns: "03:20"
"04:20"
Returns: "04:20"
"04:25"
Returns: "05:20"
"04:30"
Returns: "06:20"
"04:35"
Returns: "07:20"
"04:40"
Returns: "08:20"
"04:45"
Returns: "09:20"
"04:50"
Returns: "10:20"
"04:55"
Returns: "11:20"
"05:00"
Returns: "12:25"
"05:05"
Returns: "01:25"
"05:10"
Returns: "02:25"
"05:15"
Returns: "03:25"
"05:20"
Returns: "04:25"
"05:25"
Returns: "05:25"
"05:30"
Returns: "06:25"
"05:35"
Returns: "07:25"
"05:40"
Returns: "08:25"
"05:45"
Returns: "09:25"
"05:50"
Returns: "10:25"
"05:55"
Returns: "11:25"
"06:00"
Returns: "12:30"
"06:05"
Returns: "01:30"
"06:10"
Returns: "02:30"
"06:15"
Returns: "03:30"
"06:20"
Returns: "04:30"
"06:25"
Returns: "05:30"
"06:30"
Returns: "06:30"
"06:35"
Returns: "07:30"
"06:40"
Returns: "08:30"
"06:45"
Returns: "09:30"
"06:50"
Returns: "10:30"
"06:55"
Returns: "11:30"
"07:00"
Returns: "12:35"
"07:05"
Returns: "01:35"
"07:10"
Returns: "02:35"
"07:15"
Returns: "03:35"
"07:20"
Returns: "04:35"
"07:25"
Returns: "05:35"
"07:30"
Returns: "06:35"
"07:35"
Returns: "07:35"
"07:40"
Returns: "08:35"
"07:45"
Returns: "09:35"
"07:50"
Returns: "10:35"
"07:55"
Returns: "11:35"
"08:00"
Returns: "12:40"
"08:05"
Returns: "01:40"
"08:10"
Returns: "02:40"
"08:15"
Returns: "03:40"
"08:20"
Returns: "04:40"
"08:25"
Returns: "05:40"
"08:30"
Returns: "06:40"
"08:35"
Returns: "07:40"
"08:40"
Returns: "08:40"
"08:45"
Returns: "09:40"
"08:50"
Returns: "10:40"
"08:55"
Returns: "11:40"
"09:00"
Returns: "12:45"
"09:05"
Returns: "01:45"
"09:10"
Returns: "02:45"
"09:15"
Returns: "03:45"
"09:20"
Returns: "04:45"
"09:25"
Returns: "05:45"
"09:30"
Returns: "06:45"
"09:35"
Returns: "07:45"
"09:40"
Returns: "08:45"
"09:45"
Returns: "09:45"
"09:50"
Returns: "10:45"
"09:55"
Returns: "11:45"
"10:00"
Returns: "12:50"
"10:05"
Returns: "01:50"
"10:10"
Returns: "02:50"
"10:15"
Returns: "03:50"
"10:20"
Returns: "04:50"
"10:25"
Returns: "05:50"
"10:30"
Returns: "06:50"
"10:35"
Returns: "07:50"
"10:40"
Returns: "08:50"
"10:45"
Returns: "09:50"
"10:50"
Returns: "10:50"
"10:55"
Returns: "11:50"
"11:00"
Returns: "12:55"
"11:05"
Returns: "01:55"
"11:10"
Returns: "02:55"
"11:15"
Returns: "03:55"
"11:20"
Returns: "04:55"
"11:25"
Returns: "05:55"
"11:30"
Returns: "06:55"
"11:35"
Returns: "07:55"
"11:40"
Returns: "08:55"
"11:45"
Returns: "09:55"
"11:50"
Returns: "10:55"
"11:55"
Returns: "11:55"
"12:00"
Returns: "12:00"
"12:05"
Returns: "01:00"
"12:10"
Returns: "02:00"
"12:15"
Returns: "03:00"
"12:20"
Returns: "04:00"
"12:25"
Returns: "05:00"
"12:30"
Returns: "06:00"
"12:35"
Returns: "07:00"
"12:40"
Returns: "08:00"
"12:45"
Returns: "09:00"
"12:50"
Returns: "10:00"
"12:55"
Returns: "11:00"