문제

  • green, yellow, red, 다시 green으로 변화를 처리한다.

풀이 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

풀이 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

풀이 03

function updateLight(current) {
  return current === 'green' ? 'yellow' : current === 'yellow' ? 'red' : 'green';
}

updateLight('green');   // yellow
updateLight('yellow');  // red
updateLight('red');     // green
updateLight('green');   // yellow