본문 바로가기

NOTE112

[알고리즘문제] DFS와 BFS https://www.acmicpc.net/problem/1260 내가 푼건아니고 다이나믹 프로그래밍 강의에서 이 문제를 빠르게 적으시는데좋은 코드여서 옮겨놓는것 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071#include #include #include #include using namespace std; vector a[1001];bool c[1001]; void dfs(int x){ if (c[x]) return; cout y; a[x].push_back(y); a[y].push_back(x); } for (.. 2018. 4. 1.
[자료구조] 다이나믹 프로그래밍 강의 정리 출저 - > 유튜브 강의 https://www.youtube.com/watch?v=0o2hF-To_6Q 를 보면서 정리 [ 다이나믹 프로그래밍 ]- 큰 문제를 작은 문제로 나눠서 푸는 알고리즘- 두가지 속성을 만족해야 다이나믹 프로그래밍으로 문제를 풀 수 있다.1. Overlapping Subproblem (겹치는 부분문제)2. Optimal Substructure (최적 부분구조) ex - 피보나치 수1234567891011int fibonacci(int n){ if (n 4->2->1 보다10->9->3->1 이 더 빠르다. 위 '1로 만들기' 문제를 Top-down 방식으로 풀게 되면..123456789101112131415161718192021222324252627282930int go(int n.. 2018. 4. 1.
[알고리즘문제] 백준_음계 내일은 이거 풀어야지https://www.acmicpc.net/problem/2920 풀었당.12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#include >#define SIZE 100using namespace std; int main(){ char scale[SIZE] = { 0, }; int i = 0; int curNum = 0; int jumpNum = 0; // ascending, descending bool check_adm[3] = { false, false }; cin.getline(scale, sizeof(scale)); // 입력 while (scale[i + 2] != .. 2018. 4. 1.
[알고리즘문제] 백준_OX퀴즈 https://www.acmicpc.net/problem/8958 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950#include #define SIZE 100using namespace std; int AddJumsu(char arr[]) // 점수 계산해서 출력{ int add_num = 0; int i = 0; int result = 0; char *p; p = arr; while (p[i] != 0) { if (p[i] == 'O') { add_num = add_num + 1; result += add_num; } else if(p[i] == 'X') { add_num = 0; } i.. 2018. 4. 1.