Problem
- You need a function to handle each change from green, to yellow, to red, and then to green again.
- green, yellow, red, 다시 green으로 변화를 처리한다.
Solution 01
function updateLight(current) {
if (current === 'green') return 'yellow';
if (current === 'yellow') return 'red';
if (current === 'red') return 'green';
}
updateLight('green'); // yellow
updateLight('yellow'); // red
updateLight('red'); // green
updateLight('green'); // yellow
Solution 02
function updateLight(current) {
switch (current) {
case 'green': return 'yellow';
case 'yellow': return 'red';
case 'red': return 'green';
default: return 'Error';
}
}
updateLight('green'); // yellow
updateLight('yellow'); // red
updateLight('red'); // green
updateLight('green'); // yellow
Solution 03
function updateLight(current) {
return current === 'green' ? 'yellow' : current === 'yellow' ? 'red' : 'green';
}
updateLight('green'); // yellow
updateLight('yellow'); // red
updateLight('red'); // green
updateLight('green'); // yellow