Menu
Coddy logo textTech

요약 - 신호등

Coddy Dart 여정의 로직 & 흐름 섹션에 포함된 레슨 — 65개 중 62번째.

challenge icon

챌린지

쉬움

열거형(enums)과 switch 문에 대한 숙련도를 보여줄 수 있는 포괄적인 교통 신호 관리 시스템을 만드세요. 여러분의 과제는 여러 개의 교통 신호를 처리하고 운전자에게 적절한 행동 지침을 제공하는 시스템을 구축하는 것입니다.

  1. red, yellow, green 세 가지 값을 가진 TrafficLight라는 이름의 열거형을 정의하세요.
  2. TrafficLight 매개변수를 받아 switch 문을 사용하여 적절한 행동 문자열을 반환하는 getDriverAction 함수를 만드세요:
    • TrafficLight.red의 경우: "Stop"을 반환
    • TrafficLight.yellow의 경우: "Caution"을 반환
    • TrafficLight.green의 경우: "Go"를 반환
  3. TrafficLight 매개변수를 받아 switch 문을 사용하여 대기 시간을 초 단위로 반환하는 getWaitTime 함수를 만드세요:
    • TrafficLight.red의 경우: 30을 반환
    • TrafficLight.yellow의 경우: 3을 반환
    • TrafficLight.green의 경우: 25를 반환
  4. 서로 다른 교차로를 나타내는 세 개의 변수를 만드세요:
    • TrafficLight 타입의 intersection1TrafficLight.red로 설정
    • TrafficLight 타입의 intersection2TrafficLight.yellow로 설정
    • TrafficLight 타입의 intersection3TrafficLight.green로 설정
  5. 각 교차로에 대해 다음의 정확한 형식으로 상태를 출력하세요:
    • Intersection 1: Red light - Stop - Wait time: 30 seconds
    • Intersection 2: Yellow light - Caution - Wait time: 3 seconds
    • Intersection 3: Green light - Go - Wait time: 25 seconds
  6. intersection1TrafficLight.green으로 업데이트하여 교통 신호 순서 변경을 시뮬레이션하세요.
  7. 업데이트된 상태를 출력하세요: Updated Intersection 1: Green light - Go - Wait time: 25 seconds
  8. 다음 문구를 출력하여 요약을 생성하세요: Traffic system managing 3 intersections successfully

여러분의 프로그램은 열거형과 switch 문을 결합하여 타입 안정성이 있고 가독성이 좋은 교통 관리 시스템을 만드는 능력을 보여주어야 합니다. switch 문은 모든 열거형 값을 처리해야 하며 위에 명시된 정확한 문자열과 숫자를 반환해야 합니다.

직접 해보기

import 'dart:io';

// TODO: 여기에 TrafficLight 열거형(enum)을 정의하세요

// TODO: 여기에 getDriverAction 함수를 만드세요

// TODO: 여기에 getWaitTime 함수를 만드세요

void main() {
  // TODO: 아래에 코드를 작성하세요
  
  // 교차로 변수 생성
  
  // 각 교차로의 상태 출력
  
  // intersection1을 업데이트하고 업데이트된 상태 출력
  
  // 요약 출력
}

로직 & 흐름의 모든 레슨