BOJ 11053 c++

Algorithm / / 2020. 7. 16. 15:38

알고리즘

BOJ 11053 가장 긴 증가하는 부분 수열 c++

백준 11053


```c++ #include using namespace std;

int n;
int arr[1003];
int d[1003];

int main() {
ios::sync_with_stdio(0);
cin.tie(0);

cin >> n;
for (int i = 1; i <= n; i++)
    cin >> arr[i];
d[1] = 1;
for (int i = 2; i <= n; i++) {
    d[i] = 1;
    for (int j = 1; j < i; j++) {
        if (arr[j] < arr[i])
            d[i] = max(d[i], d[j] + 1);
    }
}
cout << *max_element(d + 1, d + n + 1);

}


<br>

잘 생각해보면, d\[i]번째에 여태껏 만난 최대값을 담은 뒤 끝까지 비교하며 d\[n-1] 까지 담은 뒤,
d 배열 중 가장 큰 놈을 뽑아내면 된다.

<br>

max_element는 시작주소와 마지막주소 + 1을 넣으면 최대값이 담긴 곳의 주소를 리턴하는 함수.
<br>

'Algorithm' 카테고리의 다른 글

BOJ 11047 c++  (0) 2020.07.16
BOJ 1912 c++  (0) 2020.07.16
BOJ 1463 c++  (0) 2020.07.15
BOJ 1149 c++  (0) 2020.07.15
BOJ 2579 c++  (0) 2020.07.15
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기
// custom