/*#include <stdio.h>
int main()
{
for(int a=1;a<=9;a++)
{
for(int b=0;b<=9;b++)
{
for(int c=1;c<=9;c++)
{
if(90*a+9*b+c==11*c)
{
printf("%d%d%d-%d%d=%d%d\n",a,b,c,a,b,c,c);
}
}
}
}
}
*/
/*#include <stdio.h>
int a[100001]={};
void quick_sort(int s, int e) // a[s] ~ a[e] 를 정렬해라
{
int b,c;
if(s>=e) return ;
int left=s;
int right=e+1;
int pivot=s;
while(left<right)
{
do{
left++;
}while(a[pivot]>a[left]) ;
do{
right--;
} while(a[pivot]<a[right]);
if(left<right)
{
c=a[left];
a[left]=a[right];
a[right]=c;
}
}
b=a[pivot];
a[pivot]=a[right];
a[right]=b;
//---- pivot값 --------
quick_sort(s,right-1);
quick_sort(right+1,e);
}
int main()
{
int n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
quick_sort(1,n);
for(i=1;i<=n;i++)
printf("%d\n",a[i]);
return 0;
}
내장퀵정렬 사용법
#include <stdio.h>
#include <stdlib.h>
int a[100001]={};
int compare(int* pa, int* pb) //정렬기준 (내림차순?오름차순?)
{
if(*pa>*pb) return 1;
else if(*pa<*pb) return -1;
else return 0;
}
int main()
{
int n,i;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
//qsort(정렬할배열의 첫번째원소의 주소, 정렬할 데이터 갯수, 정렬할 데이터 1개의 크기 , compare);
//&a[0]
qsort(a,n,sizeof(int),compare);
for(i=0;i<n;i++)
printf("%d\n",a[i]);
return 0;
}
이진탐색 + 퀵정렬
*/
/*
#include <stdio.h>
#include <stdlib.h>
int arr[50001]={};
int brr[50001]={};
int compare(int* pa,int* pb)
{
if(*pa>*pb) return 1;
else if(*pa<*pb) return -1;
else return 0;
}
int bs(int s, int e, int k)
{
int mid=(s+e)/2;
if(s>e) return -1;
if(arr[mid]==k) return mid;
else if(arr[mid]<k) return bs(mid+1,e,k);
else return bs(s,mid-1,k);
}
int main()
{
int n,i;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
brr[i]=arr[i];
}
qsort(arr,n,sizeof(int),compare);
for(i=0;i<n;i++)
{
printf("%d ",bs(0,n-1,brr[i]));
}
return 0;
}
strcmp(a,b) >0 사전식 거꾸로
<0 사전식 순서대로
==0 같은문자열
*/
#include <stdio.h>
int main()
{
int n,b;
char a[10000][11]={};
for(int i=1;i<=n;i++)
{
scanf("%s",a[i]);
}
for(int i=1;i<n;i++)
{
for(int j=1;j<=n;j++)
if(strcmp(a[i],a[i+1])>0)
{
b=a[i];
a[i]=a[i+1];
a[i+1]=b;
}
}
for(int i=1;i<=n;i++)
{
printf("%s\n",a);
}
return 0;
}