티스토리 뷰
N개의 정수로 이루어진 수열에 대해 서로 인접해 있는 두 수의 차가 1에서 N-1까지의 값을 모두 가지면 그 수열을 유쾌한 점퍼(jolly jumper)라고 부른다.
#include<stdio.h>
#include<vector>
#include<algorithm>
int main() {
int n, i, value, ans = 0;
scanf("%d", &n);
std::vector<int> checkArr(n);
int pre, now, temp;
scanf("%d", &pre);
for (i = 1; i < n; i++) {
scanf("%d", &now);
temp = abs(pre - now);
// temp 값의 범위를 먼저 확인해야함
if (temp > 0 && temp < n && checkArr[temp] == 0) {
checkArr[temp] = 1;
}
else if (checkArr[temp] > 0 || temp >= n) {
printf("NO");
return 0;
}
pre = now;
}
printf("YES");
return 0;
}
n크기의 배열에 1 ~ n-1 값을 넣는다. 배열이 생성됨과 동시에 0으로 초기화된다.
서로 인접해 있는 두 수의 차를 구해야 하므로, 이전의 입력받은 값과 새롭게 입력받는 값을 비교하여 시간을 단축한다.
인접해 있는 두 수를 비교하여 구한 차이 값 temp을 checkArr 배열에 체크한다.
범위 밖의 차이값이 나오지 않도록 범위를 제한한다.
만약 이미 체크되어있는 값이라면 더 볼 것도 없이 졸리 점퍼가 아니므로 NO를 출력하고 나온다.
'알고리즘 > C++' 카테고리의 다른 글
[C++] 마라톤 (0) | 2020.02.24 |
---|---|
[C++] 석차 구하기 (브루트 포스) (0) | 2020.02.24 |
[C++] 연속 부분 증가 수열 (0) | 2020.02.24 |
[C++] 온도의 최대값 ( 시간 제한 ) (0) | 2020.02.24 |
[C++] 층간소음 ( 기준치 초과하는 최대값) (0) | 2020.02.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- django pythoneverywhere
- django 로그인접근
- django tag
- iOS 검은 화면
- django 게시판
- Firebase 데이터베이스 추천
- 데이터베이스 추천
- 장고 태그달기
- Django
- iOS UITableView 출력안됨
- cleaned_data
- Realtime Database
- 실시간 데이터베이스
- UITableViewController Not Working
- 테이블출력안됨
- iOS 화면 안나옴
- 까만 화면
- pythonanywhere배포방법
- CellForRowAt 호출안됨
- django 개발일지
- iOS 데이터베이스
- python 웹 배포
- pythonanywhere배포
- django 태그
- ModelForm Form 차이
- 알파벳 카운팅
- CellForRowAt Not Called
- 장고 게시판
- 웹 배포
- django clean
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
글 보관함