Written on
·
172
0
문제에서 sort함수를 이용하여 정렬을 해주는데
만약 C++ 함수들을 사용하지 않고 C로만 문제를 해결하려고 하는데 방법이 있을까요?
#include<stdio.h>
#include<math.h>
#include <stdlib.h>
#define MAX(x, y) x > y ? x : y
int main(void)
{
int s,n,m,a,i,j,pos=0;
scanf("%d",&n);
int *arr=(int*)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
scanf("%d",&m);
int *brr=(int*)malloc(sizeof(int)*m);
for(i=0;i<m;i++)
{
scanf("%d",&brr[i]);
}
int *sum=(int*)malloc(sizeof(int)*MAX(n,m));
int left=0,right=0;
while(left<n && right<m)
{
if(arr[left]==brr[right])
{
sum[pos++]=arr[left++];
right++;
}
else if(arr[left]<brr[right])
{
left++;
}
else if(arr[left]>brr[right])
{
right++;
}
}
for(i=0;i<pos;i++)
{
printf("%d ",sum[i]);
}
free(arr);
free(brr);
free(sum);
return 0;
}
저는 이 부분에서 정렬을 하지못하여 막혀있습니다.