vector<pair<type, type> > 람다 이용해서 정렬하기
2019. 9. 1. 13:12
프로그래밍 언어/C++
단일 vector만 사용했다면 sort()를 사용해서 정렬할 수 있다. 하지만 vector 와 pair를 같이 사용했을 때에는 람다나 비교 함수를 사용해서 정렬을 해주어야한다. 지금은 람다를 이용해서 정렬하는 경우다. #include #include vector v; // first 로 정렬하기 sort(v.begin(), v.end(), [](const pair &a, const pair &b) { return a.first > b.first; }); // second 로 정렬하기 sort(v.begin(), v.end(), [](const pair &a, const pair &b) { return a.second > b.second; });
[C++] 표준 입력 함수 정리
2019. 8. 15. 23:14
프로그래밍 언어/C++
입력을 받으면서 공백과 개행문자 관련해서 어떤 입력 함수를 써야하는지 잘 몰라서 정리해보았다. cin #include cin >> ; cin 은 문자와 문자열 모두 입력받을 수 있다. 공백, 개행 문자를 무시한다. cin.get() #include char c; c = cin.get(); cin.get() 은 문자만 입력받을 수 있다. 공백과 개행 문자를 입력받을 수 있다. cin.getline(변수 주소, 길이, 종결 문자) #include char c[10]; cin.getline(c, 10); cin.getline(c, 10 , i); // 종결 문자인 i 를 만나면 종료 cin.getline() 은 문자열만 입력받는다. 공백과 개행 문자를 입력받을 수 있고 공백은 저장하고 개행은 종료하면서 NUL..
C++ AND , OR , XOR 비트 연산자
2019. 8. 15. 22:51
프로그래밍 언어/C++
비트 연산자에는 AND, OR, XOR 뿐만 아니라 LEFT SHIFT, RIGHT SHIFT , NOT 연산자와 같이 많은 연산자들이 있다. 비트 연산자 중에서 AND 연산자와 OR 연산자, XOR 연산자, NOT 연산자를 사용하는 방법에 대해 정리해보았다. AND 연산자 ( A & B ) AND 연산자는 둘 다 '참' 일 경우 1 을 반환한다. 예를 들어 0 & 1 = 0 1 & 1 = 1 #include #include using namespace std; int main(){ int A = 5, B = 15; cout
C++ 문자를 2진수로 출력하기
2019. 8. 15. 22:13
프로그래밍 언어/C++
개념 10진수인 정수를 2진수로 출력하는 방법은 bitset 클래스를 이용한다. #include char bit; bitset (bit); 안에 원하는 비트의 갯수를 입력하고 문자를 입력해주면 해당 문자가 원하는 갯수만큼 2진수로 출력된다. 예시 #include #include using namespace std; int main(){ char num = 10; cout
[C++] 소수점 자릿수 출력하기
2019. 7. 31. 22:48
프로그래밍 언어/C++
소수점 관련 알고리즘을 풀 때마다 까먹게 된다. 그래서 따로 메모해두기. C++ 에서 소수점 적용하는 방법 #include using namespace std; int main(){ double n = 1534.121354813; cout
C++ vector 에서 erase 함수 사용할 때 주의할 점
2019. 7. 26. 01:00
프로그래밍 언어/C++
vector의 값을 반복문을 통해 값을 출력할 때 주의할 점이 있다. iterator erase (const_iterator position); iterator erase (const_iterator first, const_iterator last); 설명하기 전에 erase 함수에 대해 간단하게 설명하자면 iterator erase (const_iterator position); const_iterator 타입의 position 은 제거할 요소를 가리킨다. iterator erase (const_iterator first, const_iterator last); first 와 last 사이의 모든 요소를 포함해서 요소들을 제거한다. erase 함수를 통해 요소를 지우게 되면 지운 요소 뒤에 있는 요소를..
[C++] 개념정리 사이트 메모
2019. 7. 24. 10:45
프로그래밍 언어/C++
C++ 관련된 개념이 잘 설명되어있는 사이트 메모해두기 C++ STL(Standard Template Library) C++ vertor 에 대해서 이해하기
[C++] 최대공약수와 최소공배수 구하기
2019. 7. 10. 08:21
프로그래밍 언어/C++
알고리즘을 푸는 도중에 최대공약수에 관한 문제가 나와 정리해봤다. 최대공약수 공약수는2개 이상 정수의 공통적인 약수를 말한다. 최대공약수란 공약수 중의 가장 큰 공약수를 말한다. 예를 들어, 2 와 4의 공약수는 1, 2 이다. 따라서, 최대공약수는 2 이다. 따라서 아래와 같이 함수를 사용해서 나타낼 수 있다. int gcd(int a, int b){ int n; while(b!=0){ n=a%b; a=b; b=n; } return a; } 최소공배수 공배수는 2개 이상의 정수의 공통적인 배수를 말한다. 최소공배수란 공배수 중의 가장 작은 공배수를 말한다. 예를 들어 2 와 4의 공배수는 4, 8, 12, ... 이다. 따라서, 최소공배수는 4 이다. 따라서 아래와 같이 함수를 사용해서 나타내보았다. ..