• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

질문있습니다.

20.09.16 18:50 작성 조회수 99

0

1,2,4,5번 문제는 맞는데

왜 3번만 틀렸다고 할까요..?

#include<stdio.h>

int num[100001];
int main(){	
	int i, n, temp, cnt=0, max=-214700;
	
	//freopen("input.txt","rt", stdin);		
	scanf("%d",&n);
	
	for(i=0; i<n; i++){
		scanf("%d",&num[i]);
	}
	temp=num[0]; //배열의 첫번째요소를 임시로 넣음
	 
	for(i=0; i<n; i++){
		if((num[i]-temp)>=0){ //이전의 요소와 뺄셈을 했을때 0보다 크거나 같으면 증가했다 취급함. 
			cnt++;
			temp=num[i];	 //다음반복을 위해서 현재요소를 임시값으로 지정 
		}
		else{ //이전의 요소와 비교했을때 값이 작으므로 감소했다 취급. 
			if(max<cnt){ //증가가 끝났으니 max값 최신화 
				max=cnt;
			}
			cnt=1; 
			temp=num[i];	//다음반복을 위해서 현재요소를 임시값으로 지정 
		}
		
	}
	
	printf("%d",max);
	
	return 0;
}

답변 1

답변을 작성해보세요.

0

안녕하세요^^

5

1 2 3 4 5

입력을 가지고 디버그해보세요.

앞으로 공부하다 이렇게 3번 데이터가 정답으로 나오지 않으면 채점폴더의 in3.txt 파일의 데이터를 가지고 디버그해서 스스로 해결해야 실력이 향상됩니다.