되는대로 살자

[C언어 기출문제&풀이] 졸리 점퍼(Jolly Jumpers) 본문

2009~2014/C/C++

[C언어 기출문제&풀이] 졸리 점퍼(Jolly Jumpers)

malu 2011. 8. 14. 22:25
프로그램 명: jolly
제한시간: 1 초

n 개의 수로 이루어진 수열이 주어질 때 인접한 수의 차이가 1 부터 n-1 까지의 수를 만들수 있을 때 이를 jolly jumper 라 한다. 단 차례대로 1 부터 만들어 질 필요는 없다.

예를 들어 아래와 같이 4 개의 수로 이루어지는 수열이 주어질 때

1 4 3 1
이 수열은 인접한 수의 차가 3 1 2 이므로 jolly jumper 이다.
1 4 2 3
도 인접한 수의 차가 3 2 1 이므로 jolly jumper 이다.

수가 하나만 있는 경우는 jolly jumper로 간주한다.

수열이 jolly jumper 인지 아닌지를 구하는 프로그램을 작성하시오.

입력

입력의 첫줄은 3000 이하인 0 보다 큰 정수 n 이 입력되고 다음부터 n 개의 수가 입력된다.

출력

jolly jumper 이면 Jolly를 아니면 Not jolly를 출력 한다.

입출력 예

입력 

4
1 4 2 3

출력 

Jolly

입력 

5 
1 4 2 -1 6

출력

Not jolly
출처: http://acm.uva.es/p/v100/10038.html

풀이 :
1. 입력을 일단 다 받는다. (jolly에 )
2. 1~n-1 까지 순회하면서 jolly[i]와jolly[i+1]의 차가 이미 나왔으면
3. Not Jolly를 출력하고 종료
4. 만약 여태 나온 졸리 의 숫자가 n-1일때 Jolly 출력
5. 아닐때 Not Jolly 출력