아직 계정이 없으신가요? 회원가입

Dev. Talk

징검다리1 반례좀 찾아주세요

회원사진jhkim11250
94 views2022-12-22 14:27
여러번의 시도 끝에 제대로 된 코드는 이거다! 하고 작성한거 같은데 오답이네요..ㅠㅠ 반례 좀 알려주세요....
#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;
}