# 큐: 삽입(enqueue) 구현
## 문제
주어진 뼈대코드에 `enqueue()` 메소드를 구현하고, 그 결과를 출력 예와 비교하시오.
## 동작 흐름
<div class="embed-responsive embed-responsive-16by9">
  <iframe src="https://www.youtube.com/embed/GZXybjLDPwE" frameborder="0" allowfullscreen></iframe>
</div>
## 출력 예
```
---------------
 1  2  3  ø  ø 
---------------
[0][1][2][3][4]
front: [0], rear: [2], isEmpty?: false
```
## 뼈대코드
```
public class MyQueueTest {
  public static void main(String[] args) {
    MyQueue queue = new MyQueue();
    queue.enqueue(1);
    queue.enqueue(2);
    queue.enqueue(3);
    System.out.println(queue);
  }
}
class MyQueue {
  private int[] elements;
  private int capacity;
  private int front; // 꺼내올 요소의 인덱스
  private int rear; // 마지막 추가 요소의 인덱스
  private int size; // 요소 개수
  public MyQueue() {
    this.elements = new int[5];
    this.capacity = 5;
    this.front = 0;
    this.rear = 0;
    this.size = 0;
  }
  public void enqueue(int data) {
    /* 해당 메소드를 구현하시오. */ 
  }
  public int front() {
    return elements[front];
  }
  public int rear() {
    return elements[rear];
  }
  public boolean isEmpty() {
    return size == 0;
  }
  @Override
  public String toString() {
    StringBuffer sbuf = new StringBuffer("---------------\n");
    for (int i = 0; i < capacity; i++) {
      if (i >= front && i <= rear && !isEmpty())
        sbuf.append(String.format("%2d ", elements[i]));
      else
        sbuf.append(String.format("%2s ", "ø"));
    }
    sbuf.append("\n---------------\n");
    sbuf.append("[0][1][2][3][4]\n\n");
    sbuf.append(String.format("front: [%d], rear: [%d], isEmpty?: %s", front, rear, isEmpty()));
    return sbuf.toString();
  }
}
```