반응형

C_C++/기초_알고리즘_문제 26

(C언어) 배열 요소를 뒤로 한 칸씩 이동하기(회전하기)

배열의 요소를 뒤로 한 칸씩 이동하는 C언어 코드입니다. 맨 뒤의 요소는 맨 앞으로 이동합니다. 이동 전 10 20 30 40 50 60 70 80 90 99 이동 후 99 10 20 30 40 50 60 70 80 90 C언어 코드 #include void print(int arr[], int n) { int i; for (i = 0; i < n; i++) printf("%d ", arr[i]); printf("\n"); } int main() { int i, j; int a[10] = { 10,20,30,40,50,60,70,80,90,99 }; print(a, 10); // 배열을 오늘쪽으로 한 칸씩 이동하기 // 맨 마지막 값은 맨 처음으로 이동 int temp = a[9]; // 맨 마지막 값 ..

(C언어) 배열 요소를 앞으로 한 칸씩 이동하기(회전하기)

배열의 요소를 앞으로 한 칸씩 이동하는 C언어 코드입니다. 맨 처음 요소는 맨 뒤로 이동합니다. 이동 전 10 20 30 40 50 60 70 80 90 99 이동 후 20 30 40 50 60 70 80 90 99 10 C언어 코드 #include void print(int arr[], int n) { int i; for (i = 0; i < n; i++) printf("%d ", arr[i]); printf("\n"); } int main() { int i, j; int a[10] = { 10,20,30,40,50,60,70,80,90,99 }; print(a, 10); // 배열을 왼쯕으로 한 칸씩 이동하기 // 맨 처음 값은 맨 뒤로 이동 int temp = a[0]; // 맨 처음 값 보관 fo..

(C언어) 크기순으로 정렬된 배열에 값 삽입하기

#배열 #삽입 #insert #array 크기 순으로 정렬되어 있는 배열에 값을 삽입하는 순서 - 삽입한 위치를 찾는다. - 뒤에서부터 삽입할 위치까지 앞으로 한 칸씩 복사한다(이동한다) - 삽입할 위치에 새로운 값을 넣는다. 크기 순으로 정렬되어 있는 배열에 값을 삽입하는 C언어 코드입니다. C언어 #define _CRT_SECURE_NO_WARNINGS // Visual Studio #include void print(int a[], int n) { int i; for (i = 0; i < n; i++) printf("%d ", a[i]); printf("\n"); } int main() { int i, j; int p[10] = { 10,20,30,40,50,60,70,80,90, 0 }; int ..

(C언어) 개미 수열 look and say sequence

#개미수열 #look and say sequence 1 11 12 1121 122111 112213 ... 개미 수열 읽고 말하는 대로 다음 항을 도출하는 수열이다. 보통은 초항이 1이지만, 다른 수를 초항으로 설정하기도 한다. 보고 말하기 수열이라고도 하며, 프랑스의 유명 소설가 베르나르 베르베르의 소설 에 등장한다고 하여 개미 수열이라고도 한다. 이 수열은 일상적 언어를 사용한 구술적인 방식으로 정의되기에, 엄밀한 수학적 표현으로 정의되는 여타 수열과 달리 일반항이나 점화식이 아직까지 알려지지 않았다. 콘웨이의 생명 게임으로 유명한 존 호튼 콘웨이가 만들었다. 개미수열은 [1행] 1입니다. [2행] 11 -- 이전 항에서 1이 1개 연속이라는 의미입니다. [3행] 12 -- 이전 항이 1이 2개 연속..

(C/C++) 병합정렬 Merge Sort

#병합 #정렬 #머지소트 #C언어 #배열 #Array 병합정렬(Merge Sort) 이미 정렬되어 있는 2개 이상의 부분 집합들을 크기순으로 한 개로 합치는 것을 말합니다. C언어 코드 #include #define NA 10 #define NB 5 #define NC (NA+NB) int main() { int a[NA] = { 11,22,33,44,55,66,77,88,87,88 }; int b[NB] = { 10,30,35,78,90 }; int c[NC]; int i, j, p; i = j = p = 0; while (i < NA && j < NB) { // a, b 둘 중 한 개가 먼저 끝날때까지 반복 if (a[i]

(C언어) 이진 검색(binary search)

#이진검색 #바이너리서치 #이진탐색 #검색 #탐색 #2진검색 이진 검색(binary search)은 오름 차순으로 정렬되어 있는 데이터를 2등분하여, 앞쪽에 있는지 뒤쪽에 있는지 검색해 나가는 방법입니다. 이진검색 전제조건: - 크기순으로 반드시 정렬되어 있을 것 *. 찾는 값이 47일 때 1. 데이터가 10개 일때(0~9번) C언어: 이진 검색 #define _CRT_SECURE_NO_WARNINGS // Visual Studio #include #define N 10 int main() { int a[N] = { 1, 5, 8, 15, 30, 45, 47, 55, 80, 99 }; int key, low, high, mid; int flag = 0; printf("탐색할 데이터는(1~100)? ");..

반응형