수열 문제 ㅠㅠ.. 어떻게 든 풀어는 봤는데.. 도와줏메 [소스첨부했어요]
라임나무
수열 문제 ㅠㅠ.. 어떻게 든 풀어는 봤는데.. 도와줏메 [소스첨부했어요]질문 요약 :소스 출력해 봤는데.. 값은 다 -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\ -
별하
파일을 열 때는 함수 내부에서 여세요.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2655576 | 구조체 선언 질문입니다. | 통꽃 | 2024-05-21 |
2655547 | 변수선언과 printf만 사용해서 수식 짜기 (1) | 피리 | 2024-05-20 |
2655523 | 문자열 사이에 문자열삽입 | 바람 | 2024-05-20 |
2655491 | 키보드 인식, 랜덤 함수 or 헤더 (2) | 별 | 2024-05-20 |
2655471 | 링 버퍼 구현된 소스 인데요.. 이해가 잘안되서요.. | 소심한녀자 | 2024-05-20 |
2655440 | test파일이 안 되요. (2) | 리라 | 2024-05-19 |
2655416 | 고수님들 도움이 절실합니다. (2) | 세리 | 2024-05-19 |
2655361 | 엔터 입력받을때까지 기다리는 getchar (1) | 큰모음 | 2024-05-19 |
2655328 | 함수에서 포인터 (3) | 모아 | 2024-05-18 |
2655299 | 아이콘바꾸는법..? | 소 | 2024-05-18 |
2655271 | scanf 입력받으면 쭉 실행되는.. (5) | ComeOn | 2024-05-18 |
2655184 | 이 세개 프로그램좀 해결해주실.... 고수님들???? (3) | 말달리자 | 2024-05-17 |
2655129 | 다차원 배열 원소들 주소계산하는거 질문이요~ | 터전 | 2024-05-17 |
2655103 | AVRstudio MoveAxis. MoveLine 함수질문 | 앨버트 | 2024-05-16 |
2655072 | 콘솔창의 위치와 크기를 정하고 싶습니다. | 딥레드 | 2024-05-16 |
2655044 | 자료구조랑 online judge site에 대해서 질문있습니다... (1) | 뽀송뽀송 | 2024-05-16 |
2655016 | 별찍기 문제 중 이해안되는 부분이 있어요... | 도전중 | 2024-05-16 |
2654986 | 입력받은 성적을 배열에 저장하기 (3) | 안녕나야 | 2024-05-15 |
2654959 | ===========-이런거 미리 지정하는법 (1) | 김자영 | 2024-05-15 |
2654930 | 도와주십시요 ㅜㅜ 자료구조 ㅜㅜ | 도널드 | 2024-05-15 |