728x90
반응형

c++ 7

[Algorithm] C++ 대문자를 소문자로 바꾸기(feat. transform() 사용하기)

C++에 다양한 테크닉이 존재한다는걸 느낀다. 내가알기로 python에는 .lowercase라는 함수가 있어서 사용하면 소문자로 바꿔주는 것으로 알고있다. c++에는 없어 검색해보았고 이참에 정리해보기로 하였다. 사실 알면 간단하다. Reference template OutputIt transform(InputIt first1, InputIt last1, OutputIt d_first, UnaryOperation unary_op); first1부터 last1까지의 범위까지 unary_op 를 수행한다. 그 수행한 결과를 d_first 부터 기록한다. 예제 따라서 대문자로 바꾸거나 소문자로 바꾸기 위해서는 다음과 같이 사용한다. 대문자 to 소문자 void lowercase(string s) { trans..

Algorithm 2022.01.28

[Algorithm] priority_queue 비교연산자 구현 (feat. struct compare, 외우기 쉬운 방법)

알고리즘 문제를 풀다보면 priority_queue에 int형이 아닌 pair를 이용하고 struct를 이용할 때가 있어서 내가 원하는 순서대로 priority_queue를 출력하려면 비교연산자를 재정의 해주어야한다. 오늘은 어떻게 priority_queue의 비교연산자를 구현하는지 알아보도록 하자. c++에서 sort 함수를 사용할 때, 사용자가 원하는 순서대로 정렬하고 싶으면 cmp 함수를 따로 만들어서 사용하였다. #include #include bool cmp(int a, int b) { return a < b; } int main() { vector v; v.push_back(1); v.push_back(3); v.push_back(2); sort(v.begin(),v.end(),cmp); } ..

Algorithm 2022.01.21

[C++] string::to_string 사용하기(feat. int, double, float -> stirng 변환)

알고리즘 문제를 풀다보면 string을 int로 int를 string으로 변환해야하는경우가 생긴다. 오늘은 그중에서 int를 string으로 변환하는 to_string 함수에대해 알아보도록 하겠다. 헤더파일 std::to_string 함수를 사용하려면 헤더 파일을 선언 해주어야 한다. #include 예제 #include #include using namespace std; int main(void) { int Inumber = 20; double Dnumber = 3.0; //int를 string으로 변환 string str = to_string(Inumber); cout

Algorithm 2022.01.02

[C++] string 자르는 2가지 방법(feat. istringstream 이용하기, substr 이용하기)

C++을 사용하다보면 문자열을 자를 때, python과 Java와 다르게 .split()이라는 내장함수가 없기 때문에 다른방법으로 만들어서 사용해야한다. C++에서 간단하게 문자열을 자르는 방법 두가지를 작성하려고 한다. stringstream을 이용해서 자르는 방법 앞선 글에서 기본적인 stringstream에 대해서 알아보았다. 과연 istringstream과 stringstream과의 차이점은 무엇일까?2021.12.31 - [Algorithm] - [C++] stringstream 사용법(feat. stream과 버퍼란 무엇인가?) [C++] stringstream 사용법(feat. stream과 버퍼란 무엇인가?)C++에서 문자열을 공백과 \n 을 기준으로 int형 string형 float형 등..

Algorithm 2021.12.31

[C++] stringstream 사용법(feat. stream과 버퍼란 무엇인가?)

C++에서 문자열을 공백과 \n 을 기준으로 int형 string형 float형 등 다양하게 자를 수 있도록 하는 stringstream이 존재한다. 이것을 어떻게 쓰는지 알아보도록 하자. stringstream을 설명하기 전에 stream은 무엇인지 알아보도록 하겠다.스트림(stream)C++ 프로그램은 파일이나 콘솔의 입출력을 직접 다루지 않고, 스트림(stream)을 통해 다룬다.스트림(stream)이란 실제의 입력이나 출력이 표현된 데이터의 이상화된 흐름을 의미한다.즉, 스트림은 운영체제가 입력과 출력을 다루기 위해 가상으로 만들어 준 것으로 중간 역할을 한다.버퍼(buffer)스트림은 내부에 버퍼(buffer)라는 임시 메모리 공간을 가진다.버퍼를 이용하면 프로그램의 입출력을 효율적으로 처리할 ..

Algorithm 2021.12.31

[알고리즘] C++ string::find() 사용법

알고리즘 풀 때, 문자열에 대한 문제가 나오는 경우가 많다. 이때 마다 인터넷을 검색해서 풀 수 없으니 정리를 해보고자 한다. C++ string 변수에서 특정 문자열을 찾을 때, std::string의 find() 함수를 사용한다. 예시1#include #include using namespace std;int main(){ string s = "Enter ui1234 Muzi"; size_t index = s.find("ui1234");//size_t는 unsigned long type printf("%zu\n", index); // zu는 unsigned long에 대한 type specifier //출력 : 6 }위 코드에서 index의 값은 찾고자 하는 문자열의..

Algorithm 2021.12.30

[Algorithm] sort() 함수 사용하기(feat. compare 이용하기 )

알고리즘 문제를 풀다보면 정렬을 해야할 때가 많으며 대부분 c++ 라이브러리를 사용하여 정렬을 하는 경우가 많다. 이번엔 sort함수를 간단하게 알아보고 정렬하기 위해 sort의 세번째 인자로 전달해 주는 함수 사용법을 알아보도록 하겠다. sort() 란 먼저 sort()를 사용하기 위해 algorithm 헤더파일을 include 해야한다. sort 함수는 내부적으로 IntroSort라는 정렬 방법으로 구현되어있다. 이 방법은 QuickSort와 HeapSort와 InsertionSort를 합쳐놓은 방식으로 평균 nlogn, 최악의 경우 n^2의 시간 복잡도를 가지는 QuickSort와는 달리, 최악의 경우에도 nlogn을 복잡도를 보장한다. https://en.wikipedia.org/wiki/Intr..

Algorithm 2021.09.21
728x90
반응형