[집중 문제] it 취업을 위한 알고리즘 문제 풀이 입문 (With C/C++) 23. 연속 부분 증가수열

2024. 7. 4. 14:48·알고리즘&자료구조 공부/it 취업을 위한 알고리즘 문제풀이 입문 강의

[기억할 내용들]

  1. 나는 배열로 값들을 이미 저장해놓고 풀었는데 오히려 이게 독이 되었다. 반복문 돌면서 그냥 값 하나씩 받아오고 이 받아온 값을 조건문 돌려서 바로 로직을 수행하면 더 쉽고 간결하게 풀 수 있었다.
  2. 이전값이랑 현재값을 비교해서 이전값이 현재값보다 작거나 같으면 cnt 를 증가시키고 이 cnt 가 max 값보다 크면 max 값을 cnt 값으로 업데이트 해주는 식으로 문제를 해결한다.
  3. 이전값이 현재값보다 크다면 cnt 값을 다시 1로 바꿔주면 간단하게 풀 수 있다.
  4. 항상!! 문제 풀 때마다 어떻게 하면 쉽게 풀 수 있을지를 생각하자!!!!

 

[나의 코드]

#include <iostream>
#include <stdio.h>
#include <string>
#include <fstream>
#include <vector>

using namespace std;

int main() {
	ios_base::sync_with_stdio(false);

	int n;
	cin >> n;
	
	vector<int> table(n);
	for (int i = 0; i < n; i++)
		cin >> table[i];

	int max = 1;
	int cnt = 1;
	int idx = 0;
	int prev = table[0];
	int count = 1;

	while (idx + count < table.size()) {
		if (table[idx + count] >= prev) {
			cnt++;
		}
		else {
			idx = idx + count;
			cnt = 1;
			count = 0;
		}
		prev = table[idx + count];
		count++;

		if (cnt > max)
			max = cnt;
	}

	cout << max << "\n";

	return 0;
}

 

 

[강의 코드]

#include <iostream>
#include <stdio.h>
#include <string>
#include <fstream>
#include <vector>

using namespace std;

int main() {
	int n, i, pre, now, cnt = 0, max = -2147000000;
	scanf_s("%d", &n);
	scanf_s("%d", &pre);
	cnt = 1;
	max = 1;

	for (i = 2; i <= n; i++) {
		scanf_s("%d", &now);
		if (now >= pre) {
			cnt++;
			if (cnt > max) max = cnt;
		}
		else cnt = 1;
		pre = now;
	}
	printf("%d\n", max);

	return 0;
}

 

 

[의견]

배열을 안 쓰고도 풀 수 있다는 점에서 놀랐고, 오히려 배열을 이용하지 않는게 문제를 더 쉽게 풀 수 있다는 점에서 다시 한 번 놀랐다. 열심히 공부하자!!!!!

'알고리즘&자료구조 공부/it 취업을 위한 알고리즘 문제풀이 입문 강의' 카테고리의 다른 글
  • it 취업을 위한 알고리즘 문제 풀이 입문 (With C/C++) 25. 석차 구하기
  • it 취업을 위한 알고리즘 문제 풀이 입문 (With C/C++) 24. Jolly Jumpers
  • [집중 문제] it 취업을 위한 알고리즘 문제 풀이 입문 (With C/C++) 22. 온도의 최대값
  • it 취업을 위한 알고리즘 문제 풀이 입문 (With C/C++) 21. 카드게임
dubu0721
dubu0721
dubu0721 님의 블로그 입니다.
  • dubu0721
    dubu0721 님의 블로그
    dubu0721
  • 전체
    오늘
    어제
    • 분류 전체보기 (334)
      • 프로그래밍언어론 정리 (0)
      • 컴퓨터네트워크 정리 (5)
      • 알고리즘&자료구조 공부 (64)
        • it 취업을 위한 알고리즘 문제풀이 입문 강의 (60)
        • 학교 알고리즘 수업 (3)
        • 실전프로젝트I (0)
      • 백준 문제 (193)
        • 이분탐색 (7)
        • 투포인트 (10)
        • 그래프 (7)
        • 그리디 (24)
        • DP (25)
        • BFS (15)
        • MST (7)
        • KMP (4)
        • Dijkstra (3)
        • Disjoints Set (4)
        • Bellman-Ford (2)
        • 시뮬레이션 (3)
        • 백트래킹 (15)
        • 위상정렬 (5)
        • 자료구조 (25)
        • 기하학 (1)
        • 정렬 (11)
        • 구현 (8)
        • 재귀 (8)
        • 수학 (8)
      • 유니티 공부 (11)
        • 레트로의 유니티 게임 프로그래밍 에센스 (11)
        • 유니티 스터디 자료 (0)
        • C# 공부 (0)
      • 유니티 프로젝트 (48)
        • 케이크게임 (13)
        • 점토게임 (35)
      • 언리얼 공부 (10)
        • 이득우의 언리얼 프로그래밍 (10)
      • 진로 (1)
      • 논문 읽기 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    자료구조
    맵
    이분탐색
    유니티 프로젝트
    우선순위큐
    BFS
    골드메탈
    해시
    이득우
    투포인터
    이벤트 트리거
    언리얼
    재귀
    스택
    유니티 공부 정리
    C#
    백트래킹
    그래프
    오블완
    유니티
    백준
    티스토리챌린지
    정렬
    그리디
    큐
    바킹독
    시뮬레이션
    레트로의 유니티 프로그래밍
    수학
    dp
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dubu0721
[집중 문제] it 취업을 위한 알고리즘 문제 풀이 입문 (With C/C++) 23. 연속 부분 증가수열
상단으로

티스토리툴바