장성호's
장성호's blog
장성호's
  • 분류 전체보기
    • 알고리즘
      • 백준
      • 이론
    • WEB
      • Spring 인강
      • 네트워크
    • 개인 프로젝트
      • 쇼핑몰 만들기

블로그 메뉴

  • 홈
  • 깃허브
전체 방문자
오늘
어제
반응형
hELLO · Designed By 정상우.
장성호's

장성호's blog

[C++] BOJ 2631 줄세우기
알고리즘/백준

[C++] BOJ 2631 줄세우기

2022. 1. 1. 23:16
반응형

문제 출처

백준 온라인 저지

https://www.acmicpc.net/problem/2631

 

2631번: 줄세우기

KOI 어린이집에는 N명의 아이들이 있다. 오늘은 소풍을 가는 날이다. 선생님은 1번부터 N번까지 번호가 적혀있는 번호표를 아이들의 가슴에 붙여주었다. 선생님은 아이들을 효과적으로 보호하기

www.acmicpc.net

 

문제 

 

 

입 / 출력

 

풀이

아이들을 번호 순서대로 배치하기 위해서 최소로 옮겨야 하는 수는

이미 번호 순서대로 정렬되어있는 아이들을 제외한 아이들을 옮겨야 하는 수와 같은 의미를 가진다

 가장 긴 부분 수열의 길이를 구하고, 그 값을 전체 아이의 수에서 빼주면 값을 구할 수 있다

 

코드

#include <algorithm>
#include <iostream>

using namespace std;

const int MAX = 201;
int n, result = 0;
int children[MAX], dp[MAX];

int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> children[i];
    dp[i] = 1;
  }

  for (int i = 0; i < n; i++) {
    for (int j = 0; j < i; j++)
      if (children[j] < children[i]) {
        dp[i] = max(dp[i], dp[j] + 1);
      }
    result = max(result, dp[i]);
  }
  cout << n - result << "\n";
}

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'알고리즘 > 백준' 카테고리의 다른 글

[C++] BOJ 2579 계단 오르기  (0) 2022.01.05
[C++] BOJ 1912 연속합  (0) 2022.01.04
[C++] BOJ 11055 가장 큰 증가하는 부분 수열  (0) 2022.01.01
[C++] BOJ 11053 가장 긴 증가하는 부분 수열  (0) 2022.01.01
[C++] BOJ 2193 이친수  (0) 2021.12.29
    '알고리즘/백준' 카테고리의 다른 글
    • [C++] BOJ 2579 계단 오르기
    • [C++] BOJ 1912 연속합
    • [C++] BOJ 11055 가장 큰 증가하는 부분 수열
    • [C++] BOJ 11053 가장 긴 증가하는 부분 수열
    장성호's
    장성호's
    장성호's 개발 공부 블로그

    티스토리툴바