15594(Out of Place)
#include <iostream>
#include <vector>
#include <queue>
#include <memory.h>
#include <algorithm>
#include <string>
using namespace std;
int n;
int main(void)
{
cin.tie(NULL);
cout.tie(NULL);
ios_base::sync_with_stdio(false);
cin >> n;
int cnt = 0;
vector<int> v;
int pre = 0;
for (int i = 0 ; i < n ; i++)
{
int temp;
cin >> temp;
if (pre == temp)
continue;
pre = temp;
v.push_back(temp);
}
while(true)
{
int i;
for (i = 0; i < v.size() - 1; i++)
{
if (v[i] > v[i + 1])
{
cnt++;
int temp = v[i];
v[i] = v[i + 1];
v[i + 1] = temp;
break;
}
}
if (i == v.size() - 1)
break;
}
cout << cnt;
}
고찰
단순 구현문제이다. 연속으로 키가 같은 소를 없애주면 쉽게 풀수 있다.