수열 문제 ㅠㅠ.. 어떻게 든 풀어는 봤는데.. 도와줏메 [소스첨부했어요]
라임나무
수열 문제 ㅠㅠ.. 어떻게 든 풀어는 봤는데.. 도와줏메 [소스첨부했어요]질문 요약 :소스 출력해 봤는데.. 값은 다 -1씩 나오길래.. +1하면 될듯했는데.. 그게 생각처럼 안되는듯 ..
질문 내용 :
문제 수열 - KOI - 2009
0에서부터 9까지의 숫자로 이루어진 N개의 숫자가 나열된 수열이 있다. 그 수열 안에서 연속해서 커지거나 (같은것 포함), 혹은 연속해서 작아지는 (같은것 포함) 수열중 가장 길이가 긴 것을 찾아내어 그 길이를 출력하는 프로그램을 작성하라.
예를 들어 수열 1 2 2 4 4 5 7 7 2의 경우에는 1=2=2=4=4=5=7=7이 가장 긴 구간이 되므로 그 길이 8을 출력한다.
수열 4 1 3 3 2 2 9 2 3의 경우에는 3=3=2=2가 가장 긴 구간이므로 그 길이 4를 출력한다.
또 1 5 3 6 4 7 1 3 2 9 5의 경우에는 연속해서 커지거나 작아지는 수열의 길이가 3 이상인 경우가 없으므로 2를 출력해야 한다.
프로그램 실행 시간은 1초를 넘을 수 없다. 부분 점수는 없다.
입력방식
입력 파일의 이름은 INPUT.TXT로 해야한다. 첫째 줄에는 수열의 길이 N이 주어지고, 둘째 줄에는 N개의 숫자가 빈칸을 사이에 두고 주어진다.
N은 1 이상 100,000 이하의 정수이다.
출력방식
출력 파일의 이름은 OUTPUT.TXT로 해야한다. 첫째 줄에 가장 긴 길이를 출력한다.
입력의 예(INPUT.TXT)
9
1 2 2 4 4 5 7 7 2
------------------------------
출력의 예(OUTPUT.TXT)
8
------------------------------
입력의 예.2(INPUT.TXT)
9
4 1 3 3 2 2 9 2 3
------------------------------
출력의 예.2(OUTPUT.TXT)
4
------------------------------
입력의 예.3(INPUT.TXT)
11
1 5 3 6 4 7 1 3 2 9 5
------------------------------
출력의 예.3(OUTPUT.TXT)
2
------------------------------
이거를 소스로 어떻게 해봤는데..#includestdio.h
FILE *in=fopen(input.txt,r);
FILE *out=fopen(output.txt,w);
int main(void)
{
int b[100000]; //1 ~ 100000의 값까지 받는 정수이다.
int i,j;
int a=0,d=0,tmp=0,tmd=0; //a와 b는 tmp와 tmd의 저장값, tmp는연속해서 커질때 증가하는 값,tmd는 작아질때 증가하는값.
fscanf(in,%d,&j);
for(i=0; ij; i++)
fscanf(in,%d ,&b[i]); //b[0] ~ b[j-1]까지 값을 받는거죠..
for(i=0; ij; i++)//연속해서 커질때.
{
if(b[i]=b[i+1])
{
tmp++;
if(tmpa)
a=tmp;
}else if(b[i]b[i+1]){ //값이 작아질때 tmp를 0으로 초기화.
tmp=0;
}
}
for(i=0; ij; i++)//연속해서 작아질때.
{
if(b[i]=b[i+1])
{
tmd++;
if(tmdd)
d=tmd;
}else if(b[i]b[i+1]){
tmd=0;
}
}
if(ad) //그렇게나온 값 a와 b를 비교하는거죠.
fprintf(out,%d,a);
else if(da)
fprintf(out,%d,d);
return 0;
}
이렇게 해봤는데.. 흐음 .. 값보다 -1작게 나오길래 ..
나중에 각각 +1 증가시켜놓으면 되겠구나..라고 생각하고 했거든요-_-;
근데
11
1 5 3 6 4 7 1 3 2 9 5
이부분에서 값이 2로 나오고 ..ㅋ
1
0
이걸로 테스트 할려고값을 줘 봤는데1로 나오니 .. 1 올리면 3이랑 2가 되잖나요 ㅠㅠ;
에효 막막한듯 ..☆
예선 합격해서 본선준비하는데 1~2개월밖에 안됫심 ㅠ..
실력이 없어서 그런거니 소스가 지저분해두 양해쯤 ㅎ;;
-
연연두
#includestdio.h
FILE *in=fopen(\input.txt\ -
별하
파일을 열 때는 함수 내부에서 여세요.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |
2675356 | 2진수를 10진수로 바꾸려고 하는데 막히네요.. | 풀잎 | 2024-11-17 |
2675297 | Prity 비트 발생기 | 한란 | 2024-11-16 |
2675249 | C책 좀 추천해 주세요 (2) | 딸기우유 | 2024-11-16 |
2675193 | 연습문제 17-1 질문입니다. | 한별나라 | 2024-11-15 |