인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

b9812052196's profile image
b9812052196

asked

Introduction to Algorithm Problem Solving for IT Employment (with C/C++): Coding Test Preparation

40. Intersection (Two-Pointer Algorithm: MS Interview Time Limit 1 Second)

C++를 사용하지 않고 문제를 해결하고싶습니다.

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;

}

저는 이 부분에서 정렬을 하지못하여 막혀있습니다.

코테 준비 같이 해요! C++

Answer 1

0

codingcamp님의 프로필 이미지
codingcamp
Instructor

안녕하세요^^

이 문제에서 two pointers 알고리즘을 사용하려면 기본적으로 자료가 정렬이 되어야 합니다.

b9812052196's profile image
b9812052196

asked

Ask a question