코딩스터디

[JavaScript] C->JS/JS로 Queue 구현 / 미용사 서비스

애플앤마블 2019. 9. 9. 04:36
반응형
SMALL

1. 개요

  자바스크립트로 Queue를 구현하고 Queue를 이용하여 Customer에 대한 time number요소들 을 출력한다.

 

2. Code에 대한 설명

  전체 서비스의 시간을 관장하는 Clock을 선언하고 이는 전체 시간을 담당한다.

Server가 가지는 service_time Server Customer에게 할당하는 시간이고 이를 0으로 초기화 한다. 각 경우 모두 유의미한 값을 도출해 내기 위해 초기 값들을 조정할 필요가 있다. 따라서duration = 100, arrival_prob = 0.5, max_serv_time = 4로 설정했다.

If( is_customer_arrived())에서 0.5보다 작을 경우 Customer가 입장한 것으로 보고insert_customer 함수를 통해 enqueuer(큐를 삽입)한다. 이때 random함수를 이용하여 고객의service_time이 임의 배정되고 고객의 id, 도착시간, 서비스시간을 출력한다.

선입선출의 개념인 Queue이므로 먼저 들어온 고객부터 Server에 배정을 하며 ServerCustomer를 받고 있을 때 들어오는 Customer는 대기하며 Server Customer를 받고 있을 경우service_time이 전체 Clock에 반대하여 줄어들고 service_time 0일 경우 remove_customer()를 실행한다. 대기 시간은 전체 시간에서 도착시간을 뺀 시간에 더하여 표현한다. 그리고dequeuer(큐를 삭제)하여 Customer의 서비스를 끝내고 삭제한다 그 후 각 변수들을 return하고 각 요소들을 출력한다.

 

3. Code

 

4. 결과

 

[PE:JavaScript]서비스PDF.pdf
0.21MB

반응형
LIST