최대점수 구하기(냅색 알고리즘) #include using namespace std; int main() { ios_base::sync_with_stdio(false); //freopen("input.txt", "rt", stdin); int n, m, s, t; cin >> n >> m; vector dy(m+1, 0); for(int i=0; i> s >> t; for(int j=m; j>=t; j--){ dy[j] = max(dy[j], dy[j-t]+s); } } cout
원더랜드(Kruskal MST 알고리즘: Union&Find 활용) #include #include #include #include /* run this program using the console pauser or add your own getch, system("pause") or input loop */ using namespace std; int unf[1001]; struct Edge{ int v1; int v2; int val; Edge(int a, int b, int c){ v1=a; v2=b; val=c; } bool operator
stack frame이란? 함수가 호출되면 stack에 함수의 매개변수와 지역변수, 호출이 끝난 후 돌아갈 주소값이 저장된다. 이렇게 stack에 차례대로 저장되는 함수의 호출 정보를 stack frame이라고 한다. 재귀함수와 stack frame c++언어로 재귀함수를 배우면서 stack frame이라는 개념이 나온 것은 출력순서를 이야기하면서 부터였다. 만약 n까지 출력하는 프로그램을 작성한다고 해보자 아래 코드와 같이 작성할 수 있다. #include /* run this program using the console pauser or add your own getch, system("pause") or input loop */ using namespace std; void D(int x){ if..
연산자가 앞에서 쓰이느냐 뒤에서 쓰이느냐에 따라 때에 따라 출력 결과가 달라진다. 전위연산자(++a)는 앞에서 먼저 연산을 하고 해당 변수에 대한 처리를 한다면 후위연산자(a++)는 먼저 변수에 대한 처리가 이루어진 후에 연산이 들어간다. 아래 예제에서 a값을 보면 알 수 있다. #include /* run this program using the console pauser or add your own getch, system("pause") or input loop */ using namespace std; int main() { int a=0; printf("a: %d, ", ++a); printf("a: %d\n", a); a=0; printf("a: %d, ", a++); printf("a: %d..
- Total
- Today
- Yesterday
- 교착상태
- server side rendering
- 동적프로그래밍
- C++
- C
- Java
- 세마포어
- 재귀함수
- 최단경로
- client side rendering
- BFS
- 자료구조
- 알고리즘
- 이진탐색
- 퀵정렬
- 배열
- 운영체제
- 병행프로세스
- dfs
- 스텍
- 인접리스트
- 클래스
- javascript
- 소프트웨어
- 입출력장치
- stackframe
- react
- 인접행렬
- Stack
- 구조체
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |