본문 바로가기

lang/c++

(4)
c++ Basic Math 에라토스테네스의 체 -> 큰 범위 내에 존재하는 모든 소수 찾아야 할 때 사용 -> 각 수가 소수인지 판단한 결과를 저장하는 배열을 사용 -> 2~루트n 까지 반복하며 해당 수의 배수를 지워나가는 방식 vector prime(n+1,true); prime[0]=prime[1]=false; //0과 1은 소수 아니므로 for(int i=2;i int로 표현 가능한 최대값을 초과한다면, 오버플로우가 발생할 수 있기에 'long long'을 사용하면 프로그램이 더 큰 값에 대해 오버플로우 없이 처리할 수있다
c++ map 파이썬에서 딕셔너리 역할을 C++에서는 map이 대신한다 (중복 처리에 사용) map에 데이터 넣는 방법 -> std::pair 객체를 반드시 넘겨주어야 한다 // 맵의 insert 함수는 pair 객체를 인자로 받는다 student_score.insert(std::pair("AMY", 2.23)); // std::make_pair 함수 활용 student_score.insert(std::make_pair("TONY", 3.04)); // [] 연산자 사용 student_score["LEE"] = 3.56; key에 접근 : student_score->first value에 접근 : student_score->second map은 기본적으로 key 값을 기준으로 오름차순 정렬된다
c++ 배열 수를 입력받아 배열에 저장할 때 int p; cin>>p; A[i]=p; 이렇게 과정을 거치지 않고 바로 아래처럼 하기 cin>>A[i] 1차원 벡터 정렬 #include #include vector v; v.push_back(4); v.push_back(3); v.push_back(2); v.push_back(1); sort(v.begin(),v.end()); // 내림 차순 정렬 sort(v.begin(),v.end(),greater()); // 오름차순 정렬 2차원 배열 정렬할 때 보통 벡터를 많이 사용한다! N행 M열인 벡터를 만들고 싶다면 vector v(N, vector(M)); 이렇게 선언 해주기! 2차원 벡터 정렬 sol 1) #include #include #include using na..
C++ - 입출력,스택,큐,덱 1. 빠른 입출력 ios_base::sync_with_stdio(false); cin.tie(NULL); -> 빠른 입출력을 위해 이 두 가지를 붙여주어야 한다 1) 첫 줄은 c와 c++의 동기화를 푸는건데 이를 통해 c++와 c의 버퍼를 분리해서 속도 빨라짐 2) cin과 cout이 묶여있는데 이를 푼다 (cin 입력받을때마다 출력버퍼 비워주는 과정을 없앤다) 3) + endl 대신 개행문자 '\n' 쓰기!! #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int a,b; cin>>a>>b; cout 반환하는 함수랑 빼는 함수랑 별개다! 따라서 top() 해서 출력해주고 pop해서 빼주기..