[C++] map 삽입,삭제,요소 찾기(find) #include #include using namespace std; int main(){ mapm; //삽입 m.insert({"happy",1}); m.insert({"new",2}); m.insert({"year!",3}); //삭제 m.erase("new"); //요소가 있는지 찾기 - find auto item=m.find("happy"); if(item!=m.end()){ //요소가 있음 cout programming language/c++ 2022.11.26
[C++] set 삽입,삭제,순회하기 배열이나 input값에서 중복되는 요소를 제거하고 저장하고 싶을때 set 자료구조를 사용할수 있다. c++에서는 #include으로 헤더파일을 추가하면 이 자료구조를 사용할수 있다. set이 템플릿 클래스여서 원소의 형태(int,string 등)을 지정해주어야 한다. 삽입,삭제,순회는 다음과 같다. #include #include using namespace std; int main(){ sets; //삽입 s.insert(1); s.insert(2); //삭제 s.erase(1); //순회 for(set::iterator iter=s.begin();iter!=s.end();iter++){ cout programming language/c++ 2022.11.26
[C++] 공백, 특정 문자(:/,-..) 기준 문자열 자르기 코테에서 문자열 다루는 문제에서 자주 쓰일수 있는 방법이다. sstream 라이브러리에 있는 "stringstream"을 사용한다. #include #include using namespace std; int main(){ string s="Hello World!"; stringstream ss(s); ss.str(s); string spit_words; while(ss>>split_words){ cout programming language/c++ 2022.11.26
[C++] vector에서 특정원소 지우기 vector.erase() vectorv 가 있다고 할때 i번째 원소를 지우는 방법은 v.erase(v.begin()+i); 이다. 한가지 궁금한것은 이 함수가 호출되어서 벡터를 지우는 과정은 어떻게 되고 시간복잡도는 어떨까? 삭제되면 뒤에 원소들을 앞으로 당겨야하는건 당연한데 코드상으로 보면 한번에 실행이 되니까 O(1)로 가능한건가! 했는데 당연하게도 그건 아닌가보다. 시간 복잡도는 결국 O(N)이 된다. https://cplusplus.com/reference/vector/vector/erase/ vector::erase - C++ Reference 123456789101112131415161718192021222324 // erasing from vector #include #include int main () { std:.. programming language/c++ 2022.09.09