/*
#include <stdio.h>
#include <stdlib.h>
int arr[100000]={};
int a=0, b=0;
void push(int x)
{
arr[a]=x;
a++;
}
void pop() // 큐에서 데이터를 빼
{
if (a==b) // 큐가 비어있다면?
{
return;
}
b++;
}
int main()
{
int n;
char s[201]={};
scanf("%d", &n);
gets(s);
for (int i=1 ; i<=n ; i++)
{
scanf("%s", s);
if (s[1]=='u')
{
int m=0;
scanf("%d )", &m);
push(m);
}
else if (s[0]=='f')
{
if (a-b>0)
{
printf("%d\n", arr[b]);
}
else
{
printf("-1\n");
}
}
else if (s[0]=='b')
{
if (a-b>0)
{
printf("%d\n", arr[a-1]);
}
else
{
printf("-1\n");
}
}
else if (s[1]=='o')
{
pop();
}
else if (s[0]=='s')
{
printf("%d\n", a-b);
}
else if (s[0]=='e')
{
if (a==b)
{
printf("true\n");
}
else
{
printf("false\n");
}
}
}
}
정렬
1. easy but slow -> 버블, 선택, 삽입 -> 걷기, 택시, 버스, 자전거 ,,,,,
2. hard but fast -> 퀵, 병합정렬, 기수정렬, 힙 ... -> 기차, 비행기, 배
버블정렬 : 인접한 두 원소를 비교해나간다 -> 붙어있는 두 수를 비교해나가면서 바꿀지 말지
*/
/*
#include <stdio.h>
int a[10001];
int n, i, j, temp;
int main() {
scanf("%d", &n);
for (i=1; i<=n; i++)
scanf("%d", &a[i]);
for(i=1; i<n; i++)
{
for (j=1 ; j<=n-i ; j++)
{
if (a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for (i = 1; i <= n; i++)
printf("%d\n", a[i]);
return 0;
}
*/
/*
#include <stdio.h>
int a[10001];
int n, i, j, temp;
int res=0;
int main()
{
scanf("%d", &n);
for (i=1; i<=n; i++)
{
scanf("%d", &a[i]);
}
for(i=1; i<=n; i++)
{
res=0;
for (j=1 ; j<=n-i ; j++)
{
if (a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
res++;
}
}
if (res==0)
{
printf("%d", i-1);
break;
}
}
return 0;
}
선택정렬
맨 앞에 와야 할 카드를 선택해서, 맨 앞과 교환
*/
/*
#include <stdio.h>
int a[10001];
int n, i, j, temp, min;
int main()
{
scanf("%d", &n);
for (i = 1; i <= n; i++)
scanf("%d", &a[i]);
for (i=1; i<n; i++)
{
min=i;
for (j=i+1; j<=n; j++)
{
if (a[j]<a[min])
{
min=j;
}
}
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
for (i=1; i<=n; i++)
printf("%d\n", a[i]);
return 0;
}
*/
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
}