문제출처 : https://www.acmicpc.net/problem/7570
code
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
int N, cnt = 1, temp = 1;
cin >> N;
vector<int> v(N);
for (int i = 1; i <= N; i++)
{
int x;
cin >> x;
v[x - 1] = i;
}
for (int i = 0; i < N - 1; i++)
{
if (v[i] < v[i + 1])
{
temp++;
cnt = max(cnt, temp);
}
else
temp = 1;
}
cout << N - cnt;
return 0;
}
처음에는 이중반복문으로 돌려서 풀었는데 시간초과가 나더라
그래서 이걸 어떻게 풀까 고민을 하다가..
어차피 1~N까지 숫자를 받는거니까 1~N방에 해당 숫자를 집어넣어서 비교하면 딱되겠다 싶어 풀었다.
어떻게 풀까 고민하다가 데크큐(dequeue)로는 풀수없을까? 해서 예전에 내가 풀었던 10975번 데크소트문제를 잠깐 찾아봤는데 아니;;
https://jpdebug.com/p/2876853
어디사이튼지는 모르겠는데 내글을 번역해다가 같은글을 써놓은걸 발견했다.
뭐 출처도 밝혀져있어서 태클거는건아니지만
애초에 블로그하는게 하루하루공부한거를 박제해놓으려는 목적이였긴 했지만, 내글이 여기저기 퍼지는게 신기하기도하고 당황스럽기도하고 창피하기도 하다.
앞으로 더 활발하게 블로그활동해서 저런글이 많이많이 생기면 좋겠다.
(아니근데 코드만 복사해가면 되는데 왜 개인적인 푸념까지 전부 복사해가냐고 ㅠㅠ 고로시하는건가)