본문 바로가기

분류 전체보기45

[C++] STL 자료구조: string stringint main() {string s(5, 'a'); // s = "aaaaa" string t = "Hello World!"; // == t("Hello World!") s.pop_back(); // s = "aaaa" s.push_back('b'); // s = "aaaab" s.insert(s.begin() + 1, 'c'); // insert 'c' at s[1], s = "acaaab" s.insert(s.begin() + 3, 2, 'd'); // insert "dd" at s[3], s = "acaddaab"; s.erase(s.begin() + 1); // erase s[1], s = "aaddaab" s.erase(s.begin() + 2, s.end()); // erase .. 2024. 3. 28.
[C++] STL 자료구조: array, vector 배열은 같은 자료형의 원소들을 메모리 상의 연속적인 위치에 저장하는 자료구조이다.- 크기는 항상 고정이며 원소의 삭제는 불가능하다.- 여기서 원소의 삭제는 { 1, 2, 3 }을 { 1, 2, * }으로 바꾸는 것이 아니라 { 1, 2 }처럼 아예 한 칸을 삭제하는 것을 의미한다. 마찬가지로 원소의 삽입 또한 불가능하다. vectorc++ STL에서 가장 많이 사용되는 자료구조이다.위의 정적인 배열과 달리 vector는 크기가 가변적인 동적 배열으로, 배열과 마찬가지로 임의 위치의 원소를 O(1)에 접근 및 수정할 수 있으며, 메모리 상의 연속적인 위치에 존재한다.차이점은 크기를 런타임에 변경할 수 있으며, 원소의 삽입 및 삭제를 지원한다. 이때 삽입 및 삭제는 맨 뒤의 원소일 경우 O.. 2024. 3. 28.
[C++]입출력: stringstream 문자열로부터 입력을 받는 법 / 출력을 문자열로 바꾸는 법을 배운다. stringstream을 이용하면 문자열로부터 입력을 받아올 수 있다. 이는 istringstream과 ostringstream의 기능을 모두 갖고 있는 클래스이지만 가독성을 위해 나눠서 작성한다. 방법1) stringstream 사용    int num; //출력할 공간 만들기    string nm="123 345 657";     stringstream sstream; //strinstream 함수의 객체 sstream 생성    sstream.str(nm); //객체 stream에 문자열 nm 넣기    while(sstream>>num) cout'\n'; //123//345//657 이렇게 출력된다. .. 2024. 3. 26.
[C++] 입출력: cin, cout - 맥북으로 vscode에서 c++를 열어보려고 했는데 모종의 이유로 계속 안 열린다. xcode를 쓰기 싫어서 vscode로 설치해보려고 했던건데 맥이나 윈도우나 안열려서 그냥 포기.. 다음에 불편해지면 다시 시도해봐야겠다. https://velog.io/@webb-c/MacOs-VS-code%EC%97%90%EC%84%9C-CC-%EC%8B%A4%ED%96%89-%EB%B0%8F-%EB%94%94%EB%B2%84%EA%B9%85%ED%95%98%EA%B8%B0 이 블로그를 참고해서 세팅을 마쳤다. - https://blog.naver.com/jinhan814/222439906974 이사이트를 이용해서 공부할 건데 1학기에는 자료구조까지 해서 총 17개 게시물을 끝내는 게 목표이다. 방학동안 알고리즘 .. 2024. 3. 23.