강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

celestial_님의 프로필 이미지
celestial_

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

23. 연속 부분 증가수열

23번 질문드립니다.

작성

·

232

0

선생님, 안녕하세요? 영상 항상 잘 보고 있습니다. 다름이 아니라
현재 저의 코드는 이런데 case2부터 5까지 전부 타임 리밋이 발생하고 있습니다. 
그 이유는 바로 아래 정의된 arr에 대해 stack around arr was corrupted 메세지 발생입니다. 
오버플로우가 났다거나 별 문제가 없다고 여겨지는데 어찌하여 이런 것일까요....ㅜㅜㅜ 
감사합니다. 
#include<stdio.h>

int main() {
	int N;
	scanf("%d",&N);

	int arr[10000] = { 0, };

	for (int i = 0; i < N; i++) { scanf("%d",&arr[i]); }

	int len[100] = { 0, };
	int index = 0;
	
	int max = 0;
	
	for (int i = 0; i < N-1; i++) {
		int count = 1;
		for (int j = i; j < N - 1; j++) {
			
			if (arr[j] <= arr[j + 1]) { count++; }
			else {
				len[index] = count; index++; break;
			}
		}
	}
	for (int i = 0; i < N; i++) {
		if (max < len[i]) { max = len[i]; }
	}
	printf("%d", max);
}

답변 1

1

김태원님의 프로필 이미지
김태원
지식공유자

감사합니다^^ 

이 문제는 N제한이 100,000입니다. arr배열의 크기를 100,000으로 하시고, len배열의 크기도 100은 너무 작습니다. len배열도 그냥 100,000잡고 하세요. 이렇게 하니 저는 100점 나옵니다.

celestial_님의 프로필 이미지
celestial_

작성한 질문수

질문하기