본문 바로가기

개발개발개발/프로그래밍과제

프로그래밍과제 - 엘리베이터 알고리즘 [난이도 : 상]

엘리베이터 알고리즘

 

===================   기본조건  ==========================

- 25층짜리 주상복합 건물에 3개의 엘리베이터가 있다.

- 모든 엘리베이터는 1층에서 25층까지 간다.

- 1층에서 타는 사람은 본인이 사는 A층을 누른다. [대기자]

- X층에서 타는 사람은 모두 1층에서 내린다.

- 엘리베이터의 속도는 1초에 1층이다.

 

===================== 추가조건 ==========================

- 1층에서 타는 사람은 사용자가 [대기자추가] 클릭하여 추가 할수있다.

- 1층에서 타는 사람 즉, 대기자는 2~25층까지 (프로그램이 지정한 랜덤층)으로 간다.

- 대기자는 해당층에서 60초후 혹은 120초후에 다시 1층으로 내려온다.

 

===================== 기본 만들기 ==========================

- 실제로 BOX나 버튼을 이용하여 엘리베이터가 움직이는 것을  만드시오.

엘리베이터 1대당 1명만 이용가능한 조건이다. 

- 각 대기자는 사용자가 버튼으로 그때그때 추가가 가능하다.

 

 

===================== 확장 만들기 ============================

- 각 대기자는 사용자가 버튼으로 그때그때 추가하거나, 랜덤시간으로 추가됨.

- 각 대기자 마다 순번이나 이름이 있다.

- 각 대기자 기준으로 1층에서 타고 다시 내려올때까지의 시간을 구하시오.