Leaning/C++

[Hackerrank] Vector-Erase

ksw8596 2024. 11. 4. 20:13
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;


int main() {
    /* Enter your code here. Read input from STDIN. Print output to STDOUT */   
    int n;
    cin >> n;
    int position, start, end;
    vector<int> v(n, 0);
    for(int i = 0; i < n; i++)
    {
        cin >> v[i];
    }
    cin >> position;
    v.erase(v.begin()+(position-1));
    cin >> start >> end;
    v.erase(v.begin()+(start-1), v.begin()+(end-1));
    cout << v.size() << endl;
    for(int i = 0; i < v.size(); i++)
    {
        cout << v[i] << " ";
    }
    return 0;
}

erase 쓰는방식에 대해 알아보았다.

 

v.erase(v.begin()+지울위치값) -> 한 위치값을 지움

v.erase(v.begin()+start위치, v.begin()+end위치) -> 범위안의 값을 지움