목록Language/C++ (19)
우노
들어가기 앞서, 문자열 제거는 아래와 같이 다양한 문제들이 존재합니다. 특정 Index 의 문자를 제거 특정 문자를 제거 특정 문자를 제외한 모든 문자를 제거 각 문제에 대한 해결 방법을, 예제 코드를 통해 다뤄보겠습니다. 특정 Index 의 문자를 제거 #include #include using namespace std; int main() { string str1 = "ABCDE"; str1.erase(str1.begin()); // 첫 글자 삭제 cout
들어가기 앞서, C++ 에선, replace 와 regex_replace 를 사용해, 특정 문자열을 변경 및 치환할 수 있습니다. replace replace 는, 대상 문자열의 위치 기반으로 문자열을 변경할 수 있습니다. 사용 방법 문자열.replace(변경 시작 index, 변경 길이, 변경 문자열) 예제 코드 다양한 오버로딩이 존재하지만, 간단한 예제만 다루겠습니다. #include #include using namespace std; int main() { string str1 = "aabbcc"; cout
들어가기 앞서, C++ String 은 3가지 방법(+ 연산자, append, insert)을 사용해, 원본 문자열에 새로운 문자열을 추가 및 삽입할 수 있습니다. + 연산자 #include #include using namespace std; int main(void){ string str1 = "안녕"; str1 += "하세요"; cout
들어가기 앞서 String 에는 이미 tolower, toupper 함수가 구현되어있으므로, 가져다 쓸 수 있습니다. 예제 코드 #include #include using namespace std; int main(void){ // 원본 문자열 string str = "Hello World"; cout
들어가기 앞서, C++ 11에서는, 더 간단하고 안전한 배열 요소 탐색을 위해, 범위 기반 for 문(ranged-based for statement)이라는 새로운 유형의 반복문을 제공한다. 범위 기반 for 문 (ranged-based for statement) #include using namespace std; int main() { int fibonacci[] = { 0, 1, 1, 2, 3 }; // number 에는, 배열에 대한 인덱스가 아닌, 배열의 요소값이 할당됩니다. // 배열 요소의 자료형은, auto 키워드를 사용해 추론하도록 설정하는게 이상적입니다. for (auto number : fibonacci){ cout
들어가기 앞서, 아래 예제 코드를 통해, 1차원 Vector 를 특정 길이만큼 특정값으로 초기화할 수 있습니다. 예제 코드 #include #include using namespace std; int main(){ // 10의 길이만큼 0으로 초기화 vector v(10, 0); // 요소 출력 // 0 0 0 0 0 0 0 0 0 0 for (auto element : v){ cout
들어가기 앞서, Map 의 원소는 Key 와 Value 로 이루어져있습니다. Map 은 원소를 저장할 때, Key 를 기준으로 오름차순 정렬하며, Key 가 중복되면 저장되지 않습니다. 예제 코드 #include #include #include using namespace std; int main(void){ // Map 생성 map m; // 삽입 (pair 객체 사용) m.insert(make_pair("a", 1)); // 삽입 (operaotr 사용) m["a"] = 2; // 전체 조회 for (auto iter = m.begin(); iter != m.end(); iter++) { cout
들어가기 앞서, Set 의 원소는 Key 입니다. Set 에 삽입되는 원소들은 자동으로 오름차순 정렬되며, 중복 저장이 안됩니다. 예제 코드 #include #include using namespace std; int main(void){ // Set 생성 set s; // 삽입 s.insert(10); s.insert(10); s.insert(20); s.insert(30); // 삭제 s.erase(20); // 전체 조회 (Set 은 index 접근 불가능) for (auto iter = s.begin(); iter !=s.end(); ++iter){ cout
들어가기 앞서, 파이썬에서는 string을 공백 분리하기 위해 split 메소드를 사용할 수 있습니다. 하지만, C++은 STL에서 split 을 지원하지 않기 때문에, 다른 방법을 사용해야합니다. 다양한 방법들 중에 하나는, sstream 를 사용하는 것입니다. 예제 코드 (공백 분리 후, 변수에 할당) #include #include #include #include using namespace std; int main(){ // 공백 분리할 문자열 선언 string input = "abc def ghi"; // 문자열을 스트림화 stringstream ss(input); // 스트림을 통해, 문자열을 공백 분리해 변수에 할당 string first, second, third; ss >> first >..
Priority Queue (우선순위 큐) 란? Queue 에 요소 삽입 시, 우선순위에 따라 내부적으로 요소들이 정렬 되는 자료구조이며, Heap 으로 구현 되어있습니다. Priority Queue 주요 기능 생성 #include #include using namespace std; int main(){ // 가장 작은 값이 우선순위가 되는 큐 (오름차순) priority_queue pq_less; // 가장 큰 값이 우선순위가 되는 큐 (내림차순) priority_queue pq_greater; } 삽입 pq_less.push(0); pq_less.push(10); pq_less.push(5); pq_less.push(20); pq_greater.push(0); pq_greater.push(10); ..