U E D R , A S I H C RSS

Jolly Jumpers/이승한

Jolly Jumpers/이승한

입력 조건을 맞추는데 무지 오래 걸렸다...ㅠ.ㅠㅋ
별생각없이 만들다가 필요 없이 함수를 쓴듯.
abs를 깜빡했군요;;
열심히 해야 겠근영;;
~cpp 
#include <iostream>
#include <cctype>
using namespace std;

const int MAX = 3000;
const int MAXLine = 10;

int checkJolly(int * array, int differ, bool programEnd = 0);

void main(){
	
	int array[MAX] = {0};
	int differ; // 10개 입력되면 9가 나온다.
	char endCheck;

	differ = endCheck = 0;
	
	while(1){
		if( !(cin>>array[differ]) )break;
		
		differ++;

		cin.get( endCheck );

		if( endCheck == '\n' ){
			checkJolly( array, differ );
			differ = 0;
		}
	}
	checkJolly( array, differ, 1 );
}

int checkJolly(int * array, int differ, bool programEnd){ //differ는 n-1의 값을 가진다.
	static bool boolJolly[10]={1,1,1,1,1,1,1,1,1,1}; //처리 결과를 저장하는 배열 기본값은 모두 jolly 이다.
	static int line = 0;

	//결과 출력.
	if( programEnd ){
		for(int i = 0; i < line; i++ ){
			if( boolJolly[i] )cout<<"Jolly\n";
			else cout<<"Not jolly\n";
		}
		return 0;
	}

	//jolly jumper 판단
	for(int i = 1; i < differ - 1; i++){
		if( ( differ < ( array[i] - array[i-1])) || (differ < ( array[i-1] - array[i])) || (differ < ( array[i] - array[i+1]) ) || (differ < ( array[i+1] - array[i]) ) ) { //절대값 판단
			boolJolly[ line ] = 0; // NOTjolly 임을 boolJolly배열에 저장
		}
	}
	
	line++;
	return 0;
}


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:34
Processing time 0.0159 sec