일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- udemy
- 종만북
- Math
- BASIC
- 인프런
- String
- 생활코딩
- 따라하면서 배우는 C언어
- C
- 백준
- web
- greedy
- php
- BOJ
- C언어
- server
- sorting
- 따배씨
- Algospot
- 따라하며 배우는 C언어
- 정수론
- Python
- dfs
- BFS
- programmers
- DP
- Algorithm
- graph
- Cleancode
- JavaScript
- Today
- Total
목록Language (271)
몽상실현개발주의
따배씨 - 따라하며 배우는 C언어 16강 전처리기와 라이브러리 16.15 assert 라이브러리 디버깅 할 때 유용하게 사용 가능 #include int divide(int a, int b); int main() { int a, b; int f = scanf("%d%d", &a, &b); printf("a / b = %d\n", divide(a, b) ); return 0; } int divide(int a, int b) { assert(b != 0); // b == 0 일때, assert 동작 return a / b; } assert 는 Release Mode 에서는 compile 시 포함되지 않음 Debug Mode Runtime 에서 동작 static assert 는 compile time 에서 동..
따배씨 - 따라하며 배우는 C언어 16강 전처리기와 라이브러리 16.14 표준 유틸리티 Utilities 라이브러리 #include #include /* rand(), srand(), malloc(), free(), ... */ void goodbye(void) { printf("GoodBye\n"); } void thankyou(void) { printf("Thankyou\n"); } int main() { printf("Purchased?\n"); if (getchar() == 'y') atexit(thankyou); // 프로그램이 종료 될 때, 런타임에서 실행 시킬 함수를 등록 while (getchar() != '\n') {}; printf("Goobye message?\n"); if (getc..
[종만북] 모듈라 연산 / 정수론 모듈라 연산 (Modular Arithmetic) 모듈라 M 에 도달 하면, 다시 0으로 돌아가는 정수들로 하는 연산 모듈라 연산에서 모든 정수는 M 으로 나눈 나머지로 표현됨 ex) 시계 모듈라 덧셈 두 수의 합의 모듈라 연산은, 두 수의 모듈라 연산 결과의 합과 같다. (a + b) % M = (a' + b') % M a % M = a' , b % M = b' -> (a + b) % M = ? a = Mx + a' , b = My + b' (a + b) = (Mx + a') + (My + b') = M(x+y) + ( a'+b') (a + b) % M = ( M(x+y) + a' + b') % M = (a' + b') % M -> (a + b) % M = (a' + ..
https://www.algospot.com/judge/problem/read/POTION# algospot.com :: POTION 마법의 약 문제 정보 문제 마법의 약 수업 시간에 교수님의 설명을 안 듣고 졸던 헤리는 실수로 냄비에 몇 가지 재료의 양을 잘못 넣고 말았습니다. 약의 색깔이 심상치 않게 변하는 것을 눈치챈 www.algospot.com [종만북] POTION / solution 효율적인 알고리즘 / Python 파이썬 Solution 효율적인 알고리즘 - r_list 들의 약수를 찾아 해결 1. 모든 재료 중 가장 많이 들어간 재료 찾기 -> X = max( p_list[i] / r_list[i] ), 모든 재료는 X 배 이상 들어야가한다. 2. r_list[i] * X 는 항상 정수 ..
https://www.algospot.com/judge/problem/read/POTION# algospot.com :: POTION 마법의 약 문제 정보 문제 마법의 약 수업 시간에 교수님의 설명을 안 듣고 졸던 헤리는 실수로 냄비에 몇 가지 재료의 양을 잘못 넣고 말았습니다. 약의 색깔이 심상치 않게 변하는 것을 눈치챈 www.algospot.com [종만북] POTION / solution 직관적인 알고리즘 / Python 파이썬 Solution 직관적인 알고리즘 - 비율이 맞을 때까지 재료들을 계속 더 넣어보는 방법 1. 첫번째 재료는 4숟가락을 넣어야 하는데, 7 숟가락을 넣음 -> 다른 재료들도 최소 7/4 배 넣어야 함 2. 두번째 재료는 6 x ( 7/4 ) = 10.5 숟가락 넣어야 하는..
[종만북] 두 수의 최대공약수 구하기 / 정수론 / Python 파이썬 1. 유클리드 알고리즘 - 유클리드 알고리즘 (Euclidean algorithm) p, q (p > q) 의 공약수의 집합 == p-q, q 의 공약수 집합 gcd(p, q) == gcd(p-q, q) gcd(6, 15) = gcd(9, 6) = gcd(3, 6) = gcd(3, 3) = gcd(3, 0) def get_gcd(p, q): if p < q: p, q = q, p if q == 0: return p return get_gcd(p-q, q) gcd = get_gcd(6, 15) print(gcd) # 3 2. 유클리드 알고리즘 최적화 gcd(1024, 6) = gcd(1018, 6) = gcd(1012, 6) = .....
따배씨 - 따라하며 배우는 C언어 16강 전처리기와 라이브러리 16.13 표준 수학 라이브러리 #include #include int main() { printf("%f\n", cos(3.141592)); double c = 5.0, b = 4.0, a; a = sqrt(c * c - b * b); printf("a = %f\n", a); float cf = 5.0f, bf = 4.0f, af; af = sqrtf(cf * cf - bf * bf); printf("af = %f\n", af); return 0; } #include #include // type generic macros #define SQRT(X) _Generic((X),\ long double: sqrtl, \ default: sqrt..
따배씨 - 따라하며 배우는 C언어 16강 전처리기와 라이브러리 16.12 라이브러리 Library : 필요한 책들이 잔뜩 모여있는 도서관 참고 Compile : 책을 출판하기 위해 ''편집하다'' 라는 의미 Library 는 Main 함수가 없음 Library 의 종류 Static Library : 프로그램에 Library 가 포함되어 있음 Dynamic Library : 프로그램의 실행 도중 필요 할때, 동적으로 Library 를 가져다 사용함 확장자별 종류 .a : 리눅스/정적 라이브러리 .so : 리눅스/동적라이브러리 .lib : 윈도우/정적라이브러리 .dll : 윈도우/동적라이브러리 Library 와 Header 의 차이 라이브러리 : 기계어로 번역된 것 헤더파일은 : 컴파일 하기 전, 프로그래머..