일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- c++
- 엑셀
- Django의 편의성
- EOF
- 표준 입출력
- Django란
- scanf
- 장고란
- 매크로
- 알고리즘 공부방법
- 프레임워크와 라이브러리의 차이
- double ended queue
- getline
- string 메소드
- Django Nodejs 차이점
- vscode
- 2557
- 연결요소
- 백준
- iOS14
- k-eta
- 입/출력
- 이분그래프
- 자료구조
- UI한글변경
- 입출력 패턴
- correlation coefficient
- 구조체와 클래스의 공통점 및 차이점
- 시간복잡도
- string 함수
- Today
- Total
목록알고리즘/문제해결을 위한 C++ 공부 (31)
Storage Gonie
*아래의 방법을 사용해야 하는 경우는 보통 입출력이 100만개 이상일 때 이다. 1. cin, cout은 scanf, printf보다 속도가 많이 느린데. 아래의 3줄을 추가해 주면 입/출력 속도를 scanf, printf급으로 올릴 수 있다. 단, sync_with_stdio(false)를 사용할 때는 (scanf, printf)와 (cin, cout)을 썪어서 사용하지 말아야한다. 그 이유는 멀티 쓰레드 환경일 경우 sync를 false시켜주면 Thread unsafe해지기 때문에 예상치 못한 순서의 출력이 이뤄질 수 있기 때문. 이와 같은 이유로 또한 sync_with_stdio(false)를 사용할 때는 싱글 쓰레드 환경어야야 한다.(PS는 대부분 싱글 쓰레드 환경) 임시방편의 방법이므로 실무에서..
# include => scanf, prinf 만 사용할때. 이 헤더를 사용하면 C언어에서도 작동한다. # include => cin, cout # include => sort, reverse, find, ,,,
int + char 연산을 하면 결과는 자동적으로 둘 중 더 큰 자료형인 int로 변환된다. #include using namespace std; int main() { cout
https://m.blog.naver.com/kks227/220246545025 1. max(), min() 2. max_element(), min_element() 3. swap(), swap_ranges(), copy(), fill() 4. reverse(), rotate(), random_shuffle() 5. for_each(), transform(), generate() 6. find(), find_if(), count(), count_if() 7. replace(), replace_if(), remove(), remove_if() 8. equal(), mismatch(), adjacent_find(), unique() 9. partition(), stable_partition() 10. sor..
# 배열에 적용한 경우 #include #include using namespace std; int main() { int a[5] = {1, 2, 3, 4, 5}; int b[5] = {6, 7, 8, 9, 10}; reverse(a, a+5); // 1 ~ 5 모두 적용 reverse(b+1, a+4); // 7 ~ 9 만 적용 int a_len = sizeof(a)/sizeof(int); //배열은 원소의 개수를 이렇게 계산해줘야함 int b_len = sizeof(b)/sizeof(int); for (int i=0; i < a_len; i++) cout
# 정수형 - int : +- 20억(2^31) - long long : +-900경
# 배열 선언방법 @ 정적배열 // N * M 행렬 int arr[3][5]; // N * M 행렬 int arr[3][5] = {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}}; // 배열 선언시 왼쪽인자를 생략할 수 있음. (오른쪽 인자는 생략 불가, 둘다 생략하는 것도 불가) int arr[][5] = {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}}; @ 동적배열 - 아직까진 사용할 일이 없었어서 학습 보류(동적할당이 필요한 이유 포함) // 1차원 배열 할당받는 방법 int width = 8; int *arr; arr = (int *) malloc ( sizeof(int) * width )..
# 사용방법 - 템플릿을 사용하므로 정수형, 벡터형 등 대부분 가능하다. #include #include #include using namespace std; int main(void) { int x = 10; int y = 20; vector vec1(4, x); // x로 초기화된 4개의 원소를 가지는 벡터 vector vec2(6, y); // y로 초기화된 4개의 원소를 가지는 벡터 swap(x, y); cout
# 배열 정렬 - sort(vec.begin(), v.end()) : 오름차순(default) - sort(vec.begin(), v.end(), less()) : 오름차순 - sort(vec.begin(), v.end(), greater()) : 내림차순 - sort(vec.begin(), v.end(), greater(), compare) : 함수기준 #include #include using namespace std; int main() { int arr[] = {3, 7, 2, 4, 1, 0, 8, 5, 6, 8}; int length = sizeof(arr) / sizeof(int); sort(arr, arr+length); for (int i=0; i< length ; i++) cout
# lambda 함수의 용도 - 이름이 없는 함수를 바로 선언하여 사용할 수 있도록 하는 기능 - 함수를 한정된 곳에서만 사용하는 경우에 사용함 - 다른 함수의 파라미터로 전달될 수 있기도 함 - C++ 11 부터 제공된다. # lambda 함수의 구조 - int mul(int a, int b){ return a*b;} 원래 이런 형태에서 int mul(int a, int b){ return a*b;} 로 됐는데 조금 변형된 느낌. @ 선언하자마자 호출하는 형태 - [변수캡쳐] (파라미터 변수 및 타입선언)->리턴타입{return 연산 ;}(넘길인자) 형태로 사용되거나 - [변수캡쳐] (파라미터 변수 및 타입선언){return 연산 ;}(넘길인자) 형태로 사용됨.(함수의 반환값이 void인 경우) @ 선..