학교 수업
-
이진 탐색(Binary Search)학교 수업/2-1 자료구조(C++) 2020. 10. 15. 22:55
데이터가 정렬되어 있을 때, 선형 탐색(Linear Search)보다 더 빠른 O(logN)의 시간이 걸리는 탐색 알고리즘이다. (알고리즘에서 log는 밑이 2인 log2를 말하는 것이다.) 이진 탐색은 UP/DOWN으로 숫자를 맞추는 게임이랑 똑같다고 볼 수 있다. 만약 1~100의 숫자에서 65라는 숫자를 골랐을 경우를 가정하자 65를 빨리 맞출 수 있는 방법은 아래와 같이 5번의 질문으로 끝낼 수 있다. (1+100)/2 = 50? UP (50+100)/2 = 75? DOWN (50+75)/2 = 62? UP (62+75)/2 = 68? DOWN (62+68)/2 = 65? CORRECT 이 방법은 현재 남은 범위에서 최소값과 최대값의 합에 2를 나누어서 나오는 몫을 물어보며 범위를 갱신하는 방법인..
-
[C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 7주차학교 수업/1-1, 1-2 코딩 기초 (파이썬, C) 2020. 10. 12. 17:28
CHAPTER 8 프로그램 + 연습문제 p.354 프로그램 8-17 notebook 배열과 pen 배열 값을 직접 입력 받을 수 있도록 만들기 #include #define N 4 double compute_avg(int arr[]); int main() { int notebook[N], pen[N]; double average; printf("notebook 배열 입력: "); for (int i = 0; i < N; i++) scanf_s("%d", ¬ebook[i]); printf("pen 배열 입력: "); for (int i = 0; i < N; i++) scanf_s("%d", &pen[i]); average = compute_avg(notebook); printf("노트 평균 판매수: ..
-
[C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 6주차학교 수업/1-1, 1-2 코딩 기초 (파이썬, C) 2020. 10. 5. 17:35
CHAPTER 7 연습문제, CHAPTER 8 추가 문제 챕터 7 8번 #include #include int main() { int x[6], n = 5; double m = 0, ans = 0; for (int i = 0; i < 5; i++) { printf("x[%d] = ", i); scanf_s("%d", &x[i]); m += x[i]; } m /= 5; for (int i = 0; i < 5; i++) { ans += pow(x[i] - m, 2) / n; } printf("\n평균: %.1lf\n", m); printf("\n표준편차: %.1lf", pow(ans,0.5)); return 0; } 챕터 7 9번 #include #define SWAP(x,y) (x=x^y, y=x^y, x..
-
[C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 5주차학교 수업/1-1, 1-2 코딩 기초 (파이썬, C) 2020. 9. 28. 16:46
CHAPTER 6, 7 연습문제 챕터 6 6번 #include #define MAX1(x,y,z) (((x)>(y))? (((x)>(z))? (x):(z)):(((y)>(z))? (y):(z))) #define MAX2(x,y,z) (((x=(x>y)? x:y) > z)? x : z) int main() { int x, y, z; printf("세 개의 수:"); scanf_s("%d %d %d", &x, &y, &z); printf("가장 큰 수:%d", MAX2(x, y, z)); return 0; } 챕터 6 7번 #include #define SQ(x) ((x)*(x)) int main() { int n, ans = 0; printf("n의 값을 입력하세요.:"); scanf_s("%d", &n)..
-
[C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 4주차학교 수업/1-1, 1-2 코딩 기초 (파이썬, C) 2020. 9. 21. 16:32
C 프로그래밍: 새내기를 위한 첫 C언어 책 CHAPTER 5 제어문 연습문제 연습문제 11 #include int main() { int n, i; printf("양의 정수 n: "); scanf_s("%d", &n); for (i = 2; i < n; i++) { if (n % i == 0) break; } if (n != i) printf("%d는(은) 소수가 아닙니다.", n); else printf("%d는(은) 소수입니다.", n); return 0; } 연습문제 15 #include int main() { int n=2, max, k = 0; printf("최대 몇까지의 소수를 출력? "); scanf_s("%d", &max); while (n < max) { k = 0; for (int i..
-
[C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 3주차학교 수업/1-1, 1-2 코딩 기초 (파이썬, C) 2020. 9. 14. 18:02
3장, 4장 연습문제 3장 4번 #include int main() { int r = 5; double length; printf("둘레를 구할 원의 반지름은?"); scanf_s("%d", &r); length = 2 * 3.14 * r; printf("반지름이 %d인 원의 둘레는 %.2lf \n", r, length); return 0; } 3장 9번 #include int main() { int x; double pi = 3.141592, v; printf("반지름(cm)을 입력하세요."); scanf_s("%d", &x); v = (double)4 / (double)3 * pi * x * x * x; printf("둘레 = %7.2lfcm\n", 2 * x * pi); printf("면적 = %7..
-
[C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 2주차학교 수업/1-1, 1-2 코딩 기초 (파이썬, C) 2020. 9. 8. 10:51
문제 1 #include int main() { double weight, moon_weight; printf("몸무게를 입력하시오(kg): "); scanf_s("%lf", &weight); moon_weight = weight * 0.17; printf("달에서의 몸무게는 %.1lfkg 입니다.", moon_weight); return 0; } 문제 2 #define _CRT_SECURE_NO_WARNINGS #include int main() { double x, y; printf("x의 값을 입력하시오 :"); scanf("%lf", &x); y = 5 * x * x * x - 2 * x * x + 3 * x + 9; printf("다항식의 값은 %.2lf 입니다.", y); return 0; }..
-
[C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 1주차학교 수업/1-1, 1-2 코딩 기초 (파이썬, C) 2020. 9. 1. 15:26
Chapter 1 연습문제 4 #include int main() { printf("시작해볼까요?\n"); return 0; } 1번은 에서 .과 h사이에 빈칸이 있어서 오류가 난다. 2번은 세번째 줄에 Main의 M을 대문자로 써서 오류가 난다. 3번은 int main() 다음 세미콜론을 붙여서 오류가 난다. 4번은 마지막 줄에 중괄호가 빠져 있어서 오류가 난다. Chapter 2 프로그램 2-7 #include int main() { float radius = 10; float area; area = 3.14f * radius * radius; printf("반지름이 %f인 원의 넓이는 %f입니다.\n", area); return 0; } 소수점 자릿수 조절, 거듭제곱 함수(pow) 이용 #inclu..