Welcome to Subscribe On Youtube
3894. Traffic Signal Color
Description
You are given an integer timer representing the remaining time (in seconds) on a traffic signal.
The signal follows these rules:
- If
timer == 0, the signal is"Green" - If
timer == 30, the signal is"Orange" - If
30 < timer <= 90, the signal is"Red"
Return the current state of the signal. If none of the above conditions are met, return "Invalid".
Example 1:
Input: timer = 60
Output: "Red"
Explanation:
Since timer = 60, and 30 < timer <= 90, the answer is "Red".
Example 2:
Input: timer = 5
Output: "Invalid"
Explanation:
Since timer = 5, it does not satisfy any of the given conditions, the answer is "Invalid".
Constraints:
0 <= timer <= 1000
Solutions
Solution 1: Simulation
We determine the answer according to the conditions described in the problem and return the corresponding string.
The time complexity is $O(1)$, and the space complexity is $O(1)$.
-
class Solution { public String trafficSignal(int timer) { if (timer == 0) { return "Green"; } if (timer == 30) { return "Orange"; } if (timer > 30 && timer <= 90) { return "Red"; } return "Invalid"; } } -
class Solution { public: string trafficSignal(int timer) { if (timer == 0) { return "Green"; } if (timer == 30) { return "Orange"; } if (timer > 30 && timer <= 90) { return "Red"; } return "Invalid"; } }; -
class Solution: def trafficSignal(self, timer: int) -> str: if timer == 0: return "Green" if timer == 30: return "Orange" if 30 < timer <= 90: return "Red" return "Invalid" -
func trafficSignal(timer int) string { switch { case timer == 0: return "Green" case timer == 30: return "Orange" case timer > 30 && timer <= 90: return "Red" default: return "Invalid" } } -
function trafficSignal(timer: number): string { if (timer === 0) { return 'Green'; } if (timer === 30) { return 'Orange'; } if (timer > 30 && timer <= 90) { return 'Red'; } return 'Invalid'; }