본문 바로가기

오래된 글86

티스토리에 Github Gist 이용하여 소스코드 snippet 붙여 넣기 Github Gist 사용하기 2 3 4 5 6 Hello Gist!! 확장자 명을 .c .cpp .py .java 와 같이 맞추어 주면 코드 하이라이트 기능이 자동으로 적용된다. 진짜 마지막 테스트... 2019. 5. 17.
C++ STL Maps 사용하는 방법 C++ STL Maps Maps은 associative container이다. key value와 mapped value의 조합으로 구성되는 원소를 저장하는 associative container이다. std::map 선언하기 map m; // creates a map m where key_type is of type string and data_type is of type int map의 길이 int length = m.size(); // gives the size of the map map에 삽입하기 m.insert(make_pair("hello", 9)); // here the pair is inserted into the map where the key is "hello" and the value.. 2019. 4. 23.
C++ STL Sets 사용하는 방법과 멤버 함수 C++ STL Sets 집합은 C++ 표준 템플릿 라이브러리 중 하나이다. 집합(Sets)은 특정한 순서로 특정 원소를 저장하는 컨테이너(container)이다. 주로 사용되는 함수들은 아래와 같다. 선언은 다음과 같이 한다. sets s; // creates a set of integers집합의 크기는 다음과 같이 구할 수 있다. int length = s.size(); // gives the size of the set.집합에 새로운 원소는 insert() 함수를 이용한다. s.insert(x); // inserts an integer x into the set s원소를 지울 때는 erase() 함수를 이용한다. s.erase(val); // erases an integer val from the s.. 2019. 4. 23.
C++ Lower Bound-STL 사용하는 방법 C++ STL Lower Bound 사용하기 lower_bound( begin(), end(), value)[ begin(), end() ) 범위 중에서 value 값이 나타나는 하한을 반환한다. 만약 value가 없다면, value보다 큰 값중에서 가장 작은 값을 반환한다. 즉, value 와 같거나 큰 값이 처음 나타나는 위치를 반복자로 반환한다. 예제 1 #include #include #include using namespace std; int main() { vector v; // vector v.push_back(10); v.push_back(20); v.push_back(30); v.push_back(22); //sort(v.begin(), v.end()); vector::iterator i.. 2019. 4. 23.
C++ 반복자란 무엇인가? 반복자 iterator의 개념 반복자는 포인터와 상당히 비슷하다. 컨테이너에 저장되어 있는 원소들을 참조할 때 사용한다. 포인터와 비슷한 객체이다. 반복자는 컨테이너에 저장된 원소를 순회하고 접근하는 일반화된 방법을 제공한다. 반복자는 컨테이너와 알고리즘이 하나로 동작하게 묶어주는 인터페이스 역할을 한다. 알고리즘마다 다른 방식으로 컨테이너를 순회할 수 있기 때문에 반복자에도 여러 종류가 있다. An iterator is an object that can "iterate" (navigate) over elements. - The C++ Standard Library 반복자는 컨테이너 내부의 원소(객체)를 가리키고 접근할 수 있어야 한다. 반복자는 다음 원소로 이동하고 컨테이너의 모든 원소를 순회할 수 있.. 2019. 4. 23.
C++ 벡터 특정 원소 지우는 방법 vector.erase() C++ 벡터에서 특정원소 지우는 방법 erase(int position) 해당하는 위치의 원소를 지운다. v.erase(v.begin()+4)는 벡터 v의 다섯 번째 원소를 지운다. erase(int start, int end) 해당하는 범위의 원소를 지운다. start는 포함하고, end는 포함하지 않는다. v.erase(v.begin()+2, v.begin()+5)는 세 번째부터 다섯 번째 까지의 원소를 지운다. 예제 https://www.hackerrank.com/challenges/vector-erase/problem #include #include #include #include #include using namespace std; int main() { /* Enter your code her.. 2019. 4. 20.
C++ vector를 이용해 정렬하는 방법 C++ 벡터를 이용해서 정렬하는 방법 sort(vector.begin(), vector.end())를 이용하면 벡터를 정렬할 수 있다. 다음과 같은 의문이 든다. 벡터 sort는 어떤 정렬을 사용할까? int형 벡터가 아닌 char형도 정렬되겠지? #include #include #include #include #include using namespace std; int main() { /* Enter your code here. Read input from STDIN. Print output to STDOUT */ int N, input; cin >> N; vector v; for(int i = 0; i > input; v.push_back(input); } sort(v... 2019. 4. 20.