바킹독의 실전 알고리즘 : 재귀재귀 : 하나의 함수에서 자기 자신을 다시 호출하여 작업을 수행하는 알고리즘 (recursion)N부터 1까지 출력하는 함수int print_n(int n){ if(n==0) return 0; cout1부터 N까지의 합을 구하는 함수int sum_n(int n, int sum){ if(n==0) return sum; return sum_n(n-1,sum+n);}int main(void){ int sum=0; cout더 직관적인 재귀는 아래와 같다. int sum_n(int n) { if (n == 1) return 1; return n + sum_n(n - 1); // n 더하기 (1부터 n-1까지의 합)}물론 sum은 그냥 수열 ..
바킹독의 실전 알고리즘 : DFSDFS : 다차원 배열에서 각 칸을 방문할 때 깊이를 우선순위로BFS : 다차원 배열에서 각 칸을 방문할 때 너비를 우선순위로 DFS 방법시작하는 칸을 스택에 넣고 방문했다는 표시를 남김 스택에서 원소를 꺼ㅐ서 상하좌우로 인접한 칸에 대해 3번을 진행 이전에 방문했다면 continue;, 처음으로 방문했다면 표시 남기고 스택에 삽입 스택이 빌 때까지 2번을 반복 -> 모든 칸이 스택에 1번씩 들어가므로 시간복잡도는 O(n)구현구현은 내가 일단 시도해보자. #include using namespace std;#define X first #define Y second int board[502][502]; // 0,1로 정의된 배열 vool vis[502][502];int n=..
바킹독의 실전 알고리즘 : BFS알고리즘 설명BFS는 Breadth First Search는 다차원 배열에서 각 칸을 방문할 때 너비를 우선으로 방문하는 알고리즘이다. 본디 BFS는 그래프라는 자료구조에 모든 노드를 방문하기 위해 제안된 알고리즘이다. #include using namespace std;int main(void){ pair t1=make_pair(10,13); pair t2={4,6}; coututility 헤더에 있는 pair는 두 자료형을 묶어서 다닐 수 있다. BFS는 정말 숙달되도록 잘 알아야 한다. 그 냥 외 우 는 걸 추 천 했 으 니외우자.. {% raw %}#include using namespace std;#define X first#define Y sec..
Web2/Challenge-20 문제자바스크립트의 동작 방식을 분석 -> 폼 데이터를 자동으로 입력하고 제출하는 Client side scripting 문제1. 문제 분석 (Analysis)F12를 통해 소스 코드를 확인하면, 캡차 인증을 포함한 폼 제출 로직이 포함되어 있다.function ck(){ if(lv5frm.id.value=="") { lv5frm.id.value.focus(); return; } if(lv5frm.cmt.value=="") { lv5frm.cmt.value.focus(); return; } if(lv5frm.captcha.value=="") { lv5frm.captcha.focus(); return; } if(lv5frm.captcha.value!=lv5frm.cap..