티스토리 뷰
N개의 숫자가 나열된 수열이 주어집니다.
이 수열 중 연속적으로 증가하는 부분 수열을 최대길이를 구하여 출력하는 프로그램을 작성하세요.
#include<stdio.h>
int main() {
int n, i, cnt = 1, max = 1, pre, now;
scanf("%d", &n);
// 맨 처음 값은 먼저 입력받고 그 다음 입력이 들어올 때마다 이전의 값과 비교.
scanf("%d", &pre);
for (i = 1; i < n; i++) {
scanf("%d", &now);
if (pre <= now) {
cnt++;
if (max < cnt) max = cnt;
}
else cnt = 1;
pre = now;
}
printf("%d", max);
}
n개의 값이 들어오면서 값이 점점 증가되는 부분의 길이가 가장 긴 값을 찾아야 한다.
배열을 선언하고 그 안에 값을 넣고 또 for문을 돌려서 길이를 구할 수도 있지만, 가능한 입력받고 바로 판별할 수 있으면 더 좋다. 새로운 값이 들어올 때마다 이전의 값과 비교한다.
맨 처음 값은 pre에 입력 받는다. 그 다음부터 값을 now에 입력 받는다.
now 와 pre를 비교했을 때, now가 더 크다면 증가수열이 시작되는 것이므로 카운팅한다. 그리고 동시에 카운팅하는 갑서이랑 최대값을 비교해서 최대값이 계속해서 갱신될 수 있도록 한다.
'알고리즘 > C++' 카테고리의 다른 글
[C++] 석차 구하기 (브루트 포스) (0) | 2020.02.24 |
---|---|
[C++] jolly jumpers (0) | 2020.02.24 |
[C++] 온도의 최대값 ( 시간 제한 ) (0) | 2020.02.24 |
[C++] 층간소음 ( 기준치 초과하는 최대값) (0) | 2020.02.24 |
[C++] 아나그램 (Anangram) (0) | 2020.02.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- django 태그
- cleaned_data
- django clean
- django 게시판
- 실시간 데이터베이스
- django tag
- pythonanywhere배포방법
- UITableViewController Not Working
- pythonanywhere배포
- ModelForm Form 차이
- 알파벳 카운팅
- iOS 검은 화면
- django 개발일지
- iOS UITableView 출력안됨
- 까만 화면
- 장고 게시판
- python 웹 배포
- 장고 태그달기
- 데이터베이스 추천
- Django
- iOS 데이터베이스
- iOS 화면 안나옴
- django 로그인접근
- CellForRowAt 호출안됨
- 테이블출력안됨
- CellForRowAt Not Called
- Firebase 데이터베이스 추천
- django pythoneverywhere
- 웹 배포
- Realtime Database
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함