본문 바로가기

C++ Programming20

7. 정렬 다루기 정렬을 다루면서 배운 점을 정리해보겠다. ● sort (#include 사용) 1. 오름차순 sort sort(arr, arr+10); 여기서 10은 배열 arr의 크기이다. 2. 내림차순 sort bool desc(int a, int b){ return a>b; } sort(arr, arr+10, desc); 사용자가 함수를 정의해서 정렬을 어떻게 할 것인지 정할 수 있다. 3. 벡터를 사용한 정렬 sort(v.begin(), v.end(), greater()); → 내림차순 정렬 sort(v.begin(), v.end(), less()); → 오름차순 정렬 ● bubble sort 구현 void BubbleSort(int arr[], int n){ int i, j; int temp; for(i = 0.. 2020. 5. 3.
6. 문자열 다루기 문자열을 다루면서 배운 점을 정리해보겠다. 1. int를 string으로 바꾸기 to_string(int a) 사용 2. 부분 문자열 str.substr(i, length) 문자열 str의 i번째 원소부터 length 길이만큼 자른다. 3. 문자열의 길이 구하기 str.length() 4. 문자열의 특정 원소 (char)를 int로 바꾸기 inp[i] - '0' 5. scanf로 문자열 입력, 길이 char a[10]; scanf("%s", a); printf("%d", strlen(a)); 4. for문에서 매 반복마다 문자열 입력받고 싶을 때 char a[10], b[10]; for(int i = 1; scanf("%s%s", a, b) && i 2020. 5. 3.
5. 알고리즘 알고리즘 문제를 해결해나가면서 알면 문제를 더 빠르고 쉽고 정확하게 풀 수 있는 알고리즘을 정리해보겠다. ● 제곱근 구하기 → 바빌로니아 법 a는 제곱근을 원하고자 입력되는 값이고, x는 0~a 사이에 존재하는 임의의 값이다. 이 수식을 원하는 근사치가 나올 때까지 반복 루프를 돌린다. 루프를 많이 돌릴수록 제곱근의 정확도가 높아진다. ● 소수인지 판별하는 알고리즘 → 에라토스테네스의 체 (Sieve of Eratosthenes) #include bool isPrime(int a) { if (a == 1) return false; else { int end = sqrt(a); for (int j = 2; j 2020. 5. 3.
4. switch문, goto문 switch문과 goto문에 대해 정리해보겠다. ● switch문 1. switch(a)에 들어가는 a의 조건 -switch문에는 원래 정수만 들어가야하지만 문자도 ASCII 코드로 저장되기 때문에 가능하다. 2. 여러 조건에서 같은 결과를 수행 case 1: case 3: case 5: printf(“a”); break; case 7: case 9: printf(“b”); break; 이런 식으로 하면 된다. 1, 3, 5에서는 a가 출력되고, 7, 9에서는 b가 출력된다. 이 때 각 케이스마다 break;을 써주는 것을 잊지 말아야 한다. ● goto문 goto 명령문을 사용하면 간단한 반복 실행을 만들 수 있다. 반복 실행 부분을 빠져나오기 위해(즉 무한 반복을 방지하기 위해) 반복 실행 되는 도중.. 2020. 5. 3.