[์ž๋ฃŒ๊ตฌ์กฐ] ํ(Queue)๋ž€?

2022. 10. 11. 21:25ยท๐Ÿ“š ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜/ํ
728x90

ํ๋ž€?

ํ๋Š” ์ปดํ“จํ„ฐ์˜ ๊ธฐ๋ณธ์ ์ธ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ํ•œ๊ฐ€์ง€๋กœ, ๋จผ์ € ์ง‘์–ด ๋„ฃ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ๋‚˜์˜ค๋Š” FIFO(First in First out) ๊ตฌ์กฐ๋กœ ์ €์žฅํ•˜๋Š” ํ˜•์‹์„ ๋งํ•œ๋‹ค. ๋‚˜์ค‘์— ์ง‘์–ด ๋„ฃ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ๋‚˜์˜ค๋Š” ์Šคํƒ๊ณผ๋Š” ๋ฐ˜๋Œ€๋˜๋Š” ๊ฐœ๋…์ด๋‹ค.

์Šคํƒ์€ ์•„๋ž˜ ๋ถ€๋ถ„์ด ๋ง‰ํžˆ๊ณ  ์œ— ๋ถ€๋ถ„์ด ๋šซ๋ฆฐ ํ†ต๊ณผ ๊ฐ™์•˜๋‹ค๋ฉด, ํ๋Š” ์–‘ ์ชฝ์ด ๋šซ๋ฆฐ ํ†ต๊ณผ ๊ฐ™๋‹ค. ์Šคํƒ์ด ๊ฐ€์žฅ ์œ—๋ถ€๋ถ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ณ  ๊บผ๋ƒˆ๋‹ค๋ฉด, ํ๋Š” front์—์„œ dequeue ์—ฐ์‚ฐ์ด ์ง„ํ–‰๋˜๊ณ , rear ๋ถ€๋ถ„์—์„œ enqueue ์—ฐ์‚ฐ์ด ์ง„ํ–‰๋œ๋‹ค.

 

C์–ธ์–ด ๊ตฌํ˜„

ํ๋Š” ๋ฐฐ์—ด ํ˜น์€ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐฐ์—ด๋กœ ๊ตฌํ˜„ํ•  ์‹œ์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฌธ์ œ์ ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋ฅผ ์ด์šฉํ•ด ํ๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด๋„๋ก ํ•œ๋‹ค.

1. ๋…ธ๋“œ ์ •์˜ ๋ฐ ํ ์ดˆ๊ธฐํ™”

#include <stdio.h>
#include <stdlib.h>
 
typedef struct Node 
{
    int data;
    struct Node *next;
}Node;
 
 
typedef struct Queue 
{
    Node *front;
    Node *rear; 
    int count; // ํ ์•ˆ์˜ ๋…ธ๋“œ ๊ฐœ์ˆ˜  
}Queue;
 
void initQueue(Queue *queue)
{
    queue->front = queue->rear = NULL; 
    queue->count = 0;    // ํ ์•ˆ์˜ ๋…ธ๋“œ ๊ฐœ์ˆ˜๋ฅผ 0์œผ๋กœ ์„ค์ •
}


์ถœ์ฒ˜: https://code-lab1.tistory.com/6?category=1213002 [์ฝ”๋“œ ์—ฐ๊ตฌ์†Œ:ํ‹ฐ์Šคํ† ๋ฆฌ]

๊ฐ€์žฅ ๋จผ์ € ๋…ธ๋“œ๋ฅผ ์ •์˜ํ•˜๊ณ , Queue ๊ตฌ์กฐ์ฒด๋ฅผ ์ •์˜ํ•œ๋‹ค. ํ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” initQueue() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด front์™€ rear๋ฅผ Null ๋กœ ์ดˆ๊ธฐํ™”ํ•˜๊ณ , ํ ์•ˆ์˜ ๋…ธ๋“œ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” count๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.

 

2. isEmpty() ํ•จ์ˆ˜

ํ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฝ‘์•„๋‚ผ ๋•Œ ํ๊ฐ€ ๋น„์–ด์žˆ๋‹ค๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ํ๊ฐ€ ๋น„์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜์ธ isEmpty()๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

int isEmpty(Queue *queue){
    return queue->count == 0;    // ํ์•ˆ์˜ ๋…ธ๋“œ ๊ฐœ์ˆ˜๊ฐ€ 0์ด๋ฉด ๋นˆ ์ƒํƒœ
}


์ถœ์ฒ˜: https://code-lab1.tistory.com/6?category=1213002 [์ฝ”๋“œ ์—ฐ๊ตฌ์†Œ:ํ‹ฐ์Šคํ† ๋ฆฌ]

ํ๊ฐ€ ๋น„์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

queue->front == NULL && queue->rear==NULL

์ฒซ๋ฒˆ์งธ ๊ฒฝ์šฐ๋Š” ํ์˜ front์™€ rear๊ฐ€ null์ผ ๊ฒฝ์šฐ์ด๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ๋Š” ๋น„์–ด์žˆ์„ ๋•Œ๋ฟ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋‘๋ฒˆ์งธ ๊ฒฝ์šฐ๋Š” ํ์•ˆ์˜ ๋…ธ๋“œ ๊ฐœ์ˆ˜๊ฐ€ 0์ด๋ผ๋ฉด ํ๊ฐ€ ๋นˆ ์ƒํƒœ๋กœ ์ทจ๊ธ‰ํ•œ๋‹ค.

3. ํ์˜ ์‚ฝ์ž…(enqueue)

ํ์˜ ๋ฐ์ดํ„ฐ ์‚ฝ์ž…์€ rear ๋ถ€๋ถ„, ์ฆ‰ ํ์˜ ๋งจ ๋’ค์—์„œ ๋ฐœ์ƒํ•œ๋‹ค. ๊ฐ€์žฅ ๋จผ์ € ์ƒˆ๋กœ์šด ๋…ธ๋“œ๋ฅผ ๋งŒ๋“ค์–ด data๋ฅผ ํ• ๋‹นํ•˜๊ณ , ์ดํ›„ ํ์— ์ง‘์–ด ๋„ฃ๋Š”๋‹ค.

void enqueue(Queue *queue, int data)
{
    Node *newNode = (Node *)malloc(sizeof(Node)); // newNode ์ƒ์„ฑ
    newNode->data = data;
    newNode->next = NULL;
 
    if (isEmpty(queue))    // ํ๊ฐ€ ๋น„์–ด์žˆ์„ ๋•Œ
    {
        queue->front = newNode;       
    }
    else    // ๋น„์–ด์žˆ์ง€ ์•Š์„ ๋•Œ
    {
        queue->rear->next = newNode;    //๋งจ ๋’ค์˜ ๋‹ค์Œ์„ newNode๋กœ ์„ค์ •
    }
    queue->rear = newNode;    //๋งจ ๋’ค๋ฅผ newNode๋กœ ์„ค์ •   
    queue->count++;    //ํ์•ˆ์˜ ๋…ธ๋“œ ๊ฐœ์ˆ˜๋ฅผ 1 ์ฆ๊ฐ€
}


์ถœ์ฒ˜: https://code-lab1.tistory.com/6?category=1213002 [์ฝ”๋“œ ์—ฐ๊ตฌ์†Œ:ํ‹ฐ์Šคํ† ๋ฆฌ]

์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ์ดํ•ด๊ฐ€ ๊ฐ€์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋‹ค์Œ ๊ทธ๋ฆผ์„ ๋ณด์ž.



 ํ๊ฐ€ ๋น„์–ด์žˆ์„ ๋•Œ enqueue

ํ๊ฐ€ ๋น„์–ด์žˆ์„ ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๋ฉด, front์™€ rear๊ฐ€ ๋™์ผํ•˜๊ฒŒ newNode๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ๋œ๋‹ค. 

ํ๊ฐ€ ๋น„์–ด์žˆ์ง€ ์•Š์„ ๋•Œ enqueue

ํ๊ฐ€ ๋น„์–ด์žˆ์ง€ ์•Š์„ ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๋ฉด front๋Š” ๊ฐ€์žฅ ์•ž์˜ ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  rear๋Š” ๊ฐ€์žฅ ๋’ค์˜ ๋…ธ๋“œ ์ฆ‰, ๋ฐฉ๊ธˆ ์‚ฝ์ž…ํ•œ ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ๋œ๋‹ค. ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์ณ์„œ ์ด๋ฃจ์–ด์ง„๋‹ค.

 

1. newNode ์ƒ์„ฑ

2. rear์˜ next ๊ฐ€ newNode๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ์„ค์ •

3. rear๊ฐ€ newNode๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ์„ค์ •

 

next ํฌ์ธํ„ฐ๊ฐ€ enqueue ๋˜๋Š” ๋ฐฉํ–ฅ๊ณผ ๋ฐ˜๋Œ€๋กœ ์„ค์ •๋˜๋Š”๊ฒŒ ์–ด์ƒ‰ํ•  ์ˆ˜๋„ ์žˆ์œผ๋‚˜, ์ด๋Š” dequeue ์—ฐ์‚ฐ์„ ์œ„ํ•ด์„œ๋‹ค. dequeue ์—ฐ์‚ฐ์—์„œ ์ž์„ธํžˆ ๋ณด๋„๋ก ํ•˜์ž.

 

4. ํ์˜ ๋ฐ์ดํ„ฐ ๋ฐ˜ํ™˜(dequeue)

int dequeue(Queue *queue)
{
    int data;
    Node *ptr;
    if (isEmpty(queue))    //ํ๊ฐ€ ๋น„์—ˆ์„ ๋•Œ
    {
        printf("Error : Queue is empty!\n");
        return 0;
    }
    ptr = queue->front;    //๋งจ ์•ž์˜ ๋…ธ๋“œ ptr ์„ค์ • 
    data = ptr->data;    // return ํ•  ๋ฐ์ดํ„ฐ  
    queue->front = ptr->next;    //๋งจ ์•ž์€ ptr์˜ ๋‹ค์Œ ๋…ธ๋“œ๋กœ ์„ค์ •
    free(ptr);    // ptr ํ•ด์ œ 
    queue->count--;    //ํ์˜ ๋…ธ๋“œ ๊ฐœ์ˆ˜๋ฅผ 1 ๊ฐ์†Œ
    
    return data;
}


์ถœ์ฒ˜: https://code-lab1.tistory.com/6?category=1213002 [์ฝ”๋“œ ์—ฐ๊ตฌ์†Œ:ํ‹ฐ์Šคํ† ๋ฆฌ]

ํ์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ˜ํ™˜์€ ํ์˜ ๋งจ ์•ž front ์—์„œ ๋ฐœ์ƒํ•œ๋‹ค. 

 

ํ๊ฐ€ ๋น„์–ด ์žˆ์„ ๊ฒฝ์šฐ์—๋Š” ๋ฐ์ดํ„ฐ ๋ฐ˜ํ™˜์„ ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ํ๊ฐ€ ๋น„์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด ๋งจ ์•ž์˜ ๋…ธ๋“œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ํ•ด๋‹น ๋…ธ๋“œ๋ฅผ free ์‹œ์ผœ์ค€๋‹ค. ์ดํ›„ ํ์˜ ๋…ธ๋“œ ๊ฐœ์ˆ˜๋ฅผ 1 ๊ฐ์†Œ ์‹œํ‚จ๋‹ค.

 

ํ๊ฐ€ ๋น„์–ด์žˆ์ง€ ์•Š์„ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ณผ์ •์„ ๊ทธ๋ฆผ์œผ๋กœ ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž.

 

 

ptr ์ด front๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ์„ค์ •

 

๊ฐ€์žฅ ๋จผ์ € ptr์ด ํ์˜ front๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ํ•œ๋‹ค. ์ด ๋•Œ ๋ฐ˜ํ™˜ํ•  ๋ฐ์ดํ„ฐ๋ฅผ ๋”ฐ๋กœ ์ €์žฅํ•œ๋‹ค. (์—ฌ๊ธฐ์„œ๋Š” ๋กœ์ปฌ ๋ณ€์ˆ˜ int data)

 

 

front ๊ฐ€ ptr->next๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ์„ค์ •

 

์ดํ›„ front ๊ฐ€ ptr->next๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ enqueue ๊ณผ์ •์—์„œ next ํฌ์ธํ„ฐ๋ฅผ ์—ญ๋ฐฉํ–ฅ์œผ๋กœ ์„ค์ •ํ•œ ๊ฒƒ์ด๋‹ค.

 

 

ptr ํ•ด์ œ

 

์ดํ›„ ptr์„ free(๋ฉ”๋ชจ๋ฆฌ ํ•ด์ œ)์‹œ์ผœ์ฃผ๊ณ , ํ์˜ ๋…ธ๋“œ ๊ฐœ์ˆ˜๋ฅผ 1๊ฐ์†Œ์‹œํ‚จ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ๋”ฐ๋กœ ์ €์žฅํ•œ data๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด dequeue ๊ณผ์ •์ด ์™„๋ฃŒ๋œ๋‹ค.

 

์ „์ฒด ์ฝ”๋“œ

#include <stdio.h>
#include <stdlib.h>
 
typedef struct Node 
{
    int data;
    struct Node *next;
}Node;
 
 
typedef struct Queue 
{
    Node *front;
    Node *rear; 
    int count; // ํ ์•ˆ์˜ ๋…ธ๋“œ ๊ฐœ์ˆ˜  
}Queue;
 
void initQueue(Queue *queue)
{
    queue->front = queue->rear = NULL; 
    queue->count = 0;    // ํ ์•ˆ์˜ ๋…ธ๋“œ ๊ฐœ์ˆ˜๋ฅผ 0์œผ๋กœ ์„ค์ •
}
 
int isEmpty(Queue *queue)
{
    return queue->count == 0;    // ํ์•ˆ์˜ ๋…ธ๋“œ ๊ฐœ์ˆ˜๊ฐ€ 0์ด๋ฉด ๋นˆ ์ƒํƒœ
}
 
void enqueue(Queue *queue, int data)
{
    Node *newNode = (Node *)malloc(sizeof(Node)); // newNode ์ƒ์„ฑ
    newNode->data = data;
    newNode->next = NULL;
 
    if (isEmpty(queue))    // ํ๊ฐ€ ๋น„์–ด์žˆ์„ ๋•Œ
    {
        queue->front = newNode;       
    }
    else    // ๋น„์–ด์žˆ์ง€ ์•Š์„ ๋•Œ
    {
        queue->rear->next = newNode;    //๋งจ ๋’ค์˜ ๋‹ค์Œ์„ newNode๋กœ ์„ค์ •
    }
    queue->rear = newNode;    //๋งจ ๋’ค๋ฅผ newNode๋กœ ์„ค์ •   
    queue->count++;    //ํ์•ˆ์˜ ๋…ธ๋“œ ๊ฐœ์ˆ˜๋ฅผ 1 ์ฆ๊ฐ€
}
 
int dequeue(Queue *queue)
{
    int data;
    Node *ptr;
    if (isEmpty(queue))    //ํ๊ฐ€ ๋น„์—ˆ์„ ๋•Œ
    {
        printf("Error : Queue is empty!\n");
        return 0;
    }
    ptr = queue->front;    //๋งจ ์•ž์˜ ๋…ธ๋“œ ptr ์„ค์ • 
    data = ptr->data;    // return ํ•  ๋ฐ์ดํ„ฐ  
    queue->front = ptr->next;    //๋งจ ์•ž์€ ptr์˜ ๋‹ค์Œ ๋…ธ๋“œ๋กœ ์„ค์ •
    free(ptr);    // ptr ํ•ด์ œ 
    queue->count--;    //ํ์˜ ๋…ธ๋“œ ๊ฐœ์ˆ˜๋ฅผ 1 ๊ฐ์†Œ
    
    return data;
}
 
int main(void)
{
    int i;
    Queue queue;
 
    initQueue(&queue);//ํ ์ดˆ๊ธฐํ™”
    for (i = 1; i <= 10; i++) 
    {
        enqueue(&queue, i);
    }
    while (!isEmpty(&queue))    // ํ๊ฐ€ ๋นŒ ๋•Œ๊นŒ์ง€ 
    {
        printf("%d ", dequeue(&queue));    //ํ์—์„œ ๊บผ๋‚ด์˜จ ๊ฐ’ ์ถœ๋ ฅ
    }
    printf("\n");
    return 0;
}
์ถœ์ฒ˜: https://code-lab1.tistory.com/6?category=1213002 [์ฝ”๋“œ ์—ฐ๊ตฌ์†Œ:ํ‹ฐ์Šคํ† ๋ฆฌ]
728x90
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)
'๐Ÿ“š ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜/ํ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [์ž๋ฃŒ๊ตฌ์กฐ] ์šฐ์„ ์ˆœ์œ„ํ(Priority Queue)๋ž€?
  • [์ž๋ฃŒ๊ตฌ์กฐ] ๋ฑ(deque)์ด๋ž€?
  • [์ž๋ฃŒ๊ตฌ์กฐ] ์›ํ˜• ํ(Circular Queue)๋ž€?
juno1105
juno1105
๊ณต๋ถ€ํ•˜๋Š” ๊ฒธ ํฌํด ๋ธ”๋กœ๊ทธ
  • juno1105
    @juno1105
    juno1105
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (89)
      • ๐Ÿ’ฌ ์ž์œ  (3)
      • ๐Ÿ“– ์–ดํ•™ ๊ณต๋ถ€ (0)
      • ๐Ÿ“” ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ (4)
      • ๐Ÿ›  ํ”„๋กœ๊ทธ๋žจ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ๋ฒ• (1)
      • ๐Ÿ“š ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (53)
        • ์Šคํƒ (4)
        • ํ (4)
        • ์ •๋ ฌ ๋ฐ ํƒ์ƒ‰ (17)
        • ๋ฆฌ์ŠคํŠธ (5)
        • ํ•ด์‹œ (1)
        • ํŠธ๋ฆฌ (8)
        • ํž™ (2)
        • ๊ทธ๋ž˜ํ”„ (12)
      • ๐Ÿ’ป ์ปดํ“จํ„ฐ ๊ตฌ์กฐ (0)
      • ๐Ÿšฅ ๋…ผ๋ฆฌํšŒ๋กœ (8)
      • ๐Ÿ”ฐ ๋ฐฑ์ค€ (20)
        • ํ, ์Šคํƒ, ๋ฑ (0)
        • DFS ์™€ BFS (3)
        • ๊ทธ๋ฆฌ๋”” (0)
        • ๋™์ ๊ณ„ํš๋ฒ• 1 (16)
        • ๋™์ ๊ณ„ํš๋ฒ• 2 (0)
        • ์ตœ๋‹จ ๊ฒฝ๋กœ (0)
        • ํŠธ๋ฆฌ (0)
        • ๋ฐฑํŠธ๋ž˜ํ‚น (0)
        • ์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ (0)
        • ์ง‘ํ•ฉ๊ณผ ๋งต (1)
      • ๐ŸŒˆ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (0)
      • ๐Ÿ“ฑ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ (0)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

    • โœจ์ž๋ฃŒ๊ตฌ์กฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ปค๋ฆฌํ˜๋Ÿผโœจ
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ํ† ์ต 950์ 
    ์ •๋ ฌ ์ตœ์•…์˜ ๊ฒฝ์šฐ
    ํ† ์ต 920์ 
    ํ† ์ต 900์ ๋Œ€
    ํ† ์ต 910์ 
    ์ •๋ ฌ ์ตœ์„ ์˜ ๊ฒฝ์šฐ
    ๊ทธ๋ž˜ํ”„ํƒ์ƒ‰
    ์‹œ๊ฐ„๋ณต์žก๋„
    ํ† ์ต
    ์ •๋ ฌ
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    ์ตœ๋‹จ๊ฒฝ๋กœ
    ํ† ์ต 900
    ํ† ์ต 900์ 
    ๋น…์˜คํ‘œ๊ธฐ๋ฒ•
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
juno1105
[์ž๋ฃŒ๊ตฌ์กฐ] ํ(Queue)๋ž€?
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”