c++(19)
-
벡터의 중복되는 원소 제거하기
erase함수와 unique 함수를 사용하여 제거한다. 1. unique 함수 algorithm 헤더파일에 존재한다. 중복되는 원소들은 제거해 나가며 앞에서부터 원소들로 벡터를 구성한다. unique 함수만 사용하면 중복된 원소들이 제거되지만 뒤의 인덱스엔 기존 원소들이 그대로 있기 때문에 erase 함수와 같이 사용해야 한다. n개의 원소에 대한 unique 함수의 시간복잡도는 O(n)이다. std::v.unique(v.begin(),v.end()); 2. erase 함수 std::v.erase(v.begin()+5); //5번째 인덱스를 지우고 싶을 때 3. unique함수와 erase 함수를 같이 사용하기 std::v.erase(unique(v.begin(),v.end()), v.end()); 코테..
2023.02.07 -
iterator 반복자 사용
vector의 반복자를 사용하고 싶다면 #include int sum(std::vector& a){ int sum=0; std::vector::iterator it; for(it=a.begin();it!=a.end();it++){ sum+=*it; } return sum; }
2022.12.28 -
sort () 함수
1. sort() 함수는 C++ STL에서 제공하는 함수로써 이 함수의 시간 복잡도는 nlogn입니다. 이 함수는 intro sort라는 정렬 방식을 바탕으로 구현되어 있다. 이 방식은 quick sort를 기반으로 heap sort와 insertion sort를 섞은 방식으로 최악의 경우 n^2의 시간 복잡도를 가지는 quick sort와는 달리, 최악의 경우에도 nlogn을 보장하는 정렬 알고리즘입니다. 2. 사용법은 헤더를 include한 뒤 sort(begin,end) 이렇게 사용하면 오름차순으로 정렬됩니다. 정렬 방식이 sort(begin,end)이지만 범위가 begin
2022.12.26 -
반복문으로 별찍기
어렵게 생각했는데 생각보다 쉬운 문제였다. #include int main() { int N; scanf("%d", &N); for (int i = 0; i < N; i++) { for (int j = 0; j
2022.12.20 -
동적으로 배열 할당하기
배열의 크기를 입력받아서 생성하고 싶을 때 int length; cin>>length; int *arr=new int[length]; //동적으로 배열 할당 ... delete[] arr;//동적 할당한 배열 공간 삭제해주기
2022.12.19 -
최대값 구하기 - max()
std 네임스페이스에 max라는 함수가 있다. //using namespace std; 변수들 중에서 최대값을 반환해준다. 인자로 두개만 전달 가능하다. ---> max(a,b) 세개를 비교할때는 ---->max( max(a,b),c)
2022.12.19