여러번의 시도 끝에 제대로 된 코드는 이거다! 하고 작성한거 같은데 오답이네요..ㅠㅠ 반례 좀 알려주세요....
#include <stdio.h>
#include <stdlib.h>
int sol(int num, int arr[]);
int main(void)
{
int N=0;
scanf("%d", &N);
int* A=(int*)malloc(sizeof(int) * N);
for(int i=0;i<N;i++){
scanf("%d",&A[i]);
}
printf("%d",sol(N,A));
return 0;
}
int sol(int num, int arr[]){
int* coeff=(int*)malloc(sizeof(int)*num);
for(int i=0;i<num;i++){
coeff[i]=1;
}
for(int i=0;i<num;i++){
int max_value = 0;
for (int j=0; j<i;j++){
if (arr[i]>arr[j]){
if (max_value<arr[j]){
max_value=coeff[j];
}
}
}
coeff[i]=max_value+1;
}
int max=0;
for(int i=0;i<num;i++){
if (max<coeff[i]){
max=coeff[i];
}
}
return max;
}