-
반응형
level.goorm.io/exam/49109/jmos/quiz/1
구름LEVEL
코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이
level.goorm.io
-풀이-
꼬여있는관계를 없애기 위해 자원을 반납해야하는 최소한의 프로그램 개수를 구하는 문제이다.
이문제는 꼬여있는 최소한을 없애는것== 전체에서 가장 긴 증가하는 수열의 개수를 빼주는것과 같다.
따라서 가장 긴 증가하는 수열의 개수를 구해준 뒤, 전체 개수에서 빼주면 된다.
-시간 복잡도-
전체적으로 N번을 돌며, lower_bound를 실행하기 때문에 O(NlogN)이 된다.
-코드-
#include <iostream> #include<algorithm> #include<vector> using namespace std; vector<int> v; int n; int main() { cin>>n; for(int i=0;i<n;i++){ int data; cin>>data; if(v.empty()||v.back()<data){ v.push_back(data); } else{ int ind=lower_bound(v.begin(),v.end(),data)-v.begin(); v[ind]=data; } } cout<<n-v.size()<<"\n"; return 0; }
반응형'문제풀이 > 구름' 카테고리의 다른 글
[구름 Level] 구슬 주머니 (0) 2021.05.25 [구름 Level] 방 탈출하기 (0) 2021.05.25 [구름LEVEL] 사은품 교환하기 (0) 2021.03.19 [구름LEVEL] 근묵자흑 (0) 2021.03.18 댓글