그외 3

[c++] vector 중복원소 제거(sort, unique)

※배워가고 있는 학생입니다. 틀린 부분이 있다면 댓글로 피드백 부탁드려요😁 알고리즘 문제를 풀다보면, 벡터에서 중복원소를 제거해야 하는 경우가 나온다. 해당 경우에 쉽게 중복원소를 제거할 수 있는 방법을 알아내 정리해보려고 한다! 1) unique 함수 - 헤더에 정의되어 있는 함수 - 벡터 내에서 중복되지 않는 원소들을 앞에서부터 채워나가는 함수 즉, 벡터 내에서 중복되는 값을 뒤쪽으로 모아줌 - 자신이 바꾼 vector의 end() 반환 (첫번째 중복값의 iterator 반환) - 앞뒤 원소들을 비교하기 때문에 반드시 sort 로 정렬한 뒤 사용해야 함! 2) 중복 원소 지우기 1. 벡터를 정렬(sort) 2. 중복 원소들을 벡터의 뒷부분으로 보내기 (unique) 3. 중복된 원소들을 삭제 (era..

그외/C++ 2021.06.16

[c++] vector<vector<int>> (이차원 벡터) 길이

※배워가고 있는 학생입니다. 틀린 부분이 있다면 댓글로 피드백 부탁드려요😁 * 이 글은 vector와 vector의 개념을 알고 있다는 전제 하에 설명이 되어있습니다. 이전부터 2차원 vector를 계속 사용해왔지만, 항상 문제를 풀 때 입력받은 int로 row와 column을 설정해왔기에 길이를 구하는 방법은 나도 오늘 처음 알았다! 🙄 .size() 결론부터 말하자면, vector 크기를 구할 때 늘 사용해왔던 .size()함수를 이용하면 된다! row: 벡터.size() column: 벡터[0].size() 우리가 알고 있듯, vector는 vector를 각각의 row에 넣어주는 방식의 2차원 동적배열이다. 그냥 .size()함수를 사용하면 기본적으로 row의 길이만 리턴되지만, 해당 row에 들어..

그외/C++ 2021.06.13

[c++] vector<int>v(n) 과 vector<int>v[n]의 차이

※배워가고 있는 학생입니다. 틀린부분이 있다면 댓글로 알려주세요! 오늘 공부를 하다가 새롭게 알게 된 사실👀을 정리해보려고 한다. 사실 vector 자료형에 대해서 알고 응용해서 쓴지는 꽤 됐는데, 내가 이런 기본적인? 사실조차 몰랐다니 조금 놀랐다. 1) vector v(n) vectorv(n)은 사이즈 n만큼 0으로 초기화되어 있는 벡터를 선언한다는 의미다. 즉, n크기만큼의 벡터 배열을 생성하고 동시에 각 인덱스에 들어있는 값을 0으로 초기화한다는 것이다. 각 인덱스에 입력값이 주어지지 않는다면 0으로 그대로 출력된다. vector v(2); //0,0 v.push_back(5); //0,0,5 v.push_back(2); //0,0,5,2 cout

그외/C++ 2021.05.26
728x90