재귀함수 BJ1074 Z 문제가 어려워보이기도 하지만, 재귀함수를 이용해 구현하면 생각보다 간단한 코드로 해결할 수 있다. R행 C열을 입력 받게 되면 가장 큰 Z에서 어느 부분에 속하는 지를 찾아 수를 더해주고, 한 단계씩 작은 Z로 내려가면서 이 과정을 반복해주면 된다.... 재귀함수백준 알고리즘백준 알고리즘 [SW사관학교정글] WEEK01 개발일지 - Ⅱ 재귀함수 즉, 함수 정의 내에 같은 이름의함수가 올 때 이를 재귀함수라 한다. 재귀함수 사용 시 반드시 탈출 조건이 있어야 stack overflow를 방지할 수 있다. 재귀함수의 호출 및 리턴 과정 모든 함수는 호출되면 메모리에 새로운 공간을 확보해서 매번 전혀 다른 공간에서 작업이 진행된다. 소스 코드에서는 같은 공간처럼 보이지만 실제 실행되는 코드는 전혀 다른 공간에서 이뤄진다 main... jungle재귀함수개발일지정글jungle BJ1759 암호 만들기 이 문제는 조건에 맞는 모든 암호를 출력하는 것이다. 사전식으로 출력해야 하므로 A~Z순으로 정렬해주고, 문자에 중복이 없으므로 조합을 재귀함수로 구현하여 길이가 맞을 때 출력하면 쉽게 해결할 수 있다.... 백준 알고리즘재귀함수조합백준 알고리즘 BJ1463 1로 만들기 DP 또는 재귀함수를 이용해 해결할 수 있다. 이 문제에서는 재귀함수를 이용했을 때 실행시간이 더 짧았지만, 여러 테스트 케이스를 출력한다면 DP를 활용할 때는 단순히 배열에 접근해 값만 가져오면 되기 때문에 DP가 유리하다.... 재귀함수백준 알고리즘DPDP 분할 정복 (1) [코드] 분할 정복의 분석 //이는 뒤의 DP에서 한번 더 연습해볼 것이다.... 재귀함수재귀알고리즘분할 정복분할 정복 재귀함수 예제로 알아보기 재귀의 사전적 의미는 자기 자신을 참조한다라고 나와있다.. 구현이나 피보나치 수열에 사용 되는데 어떤 방식인지 이해가 안간다. 예제를 통해 알아보자. 예제 이 소스를 실행해보면 0~10까지 찍힐것이다. 위 소스는 이해가 잘 된다 그렇다면 아래 소스는 어떨까? 그저 print문 추가를 해주었다. 결과는 0~10 그리고 10~0으로 거꾸로 출력이 된다. 이게 어찌된 일인지 알아보자. 재귀함수의 ... 재귀함수알고리즘알고리즘 백준 1074번 - Z (파이썬) N = 0인 경우, 크기가 2 ⁰ x 2 ⁰ = 1인 배열이다. 그리고 이 큰 Z에서 섹션 0 ~ 섹션 3 중에 어디에 속하는지 확인해보았다. 예를 들어 n=1인 경우, 2 ¹ x 2 ¹ = 4 크기의 배열이니까, 길이가 가로 = 세로 = 2¹ 이다. 이렇게 재귀를 넘기면서 r과 c를 조정해주면 모두 섹션 0으로 바꿔줄 수 있다. 3) 마지막으로, 위와 같이 모두 섹션 0으로 r,c를 조절해... z백준1074번재귀함수SW사관학교정글개발일지SW사관학교정글 이진트리 순회(깊이우선탐색) 트리용어 정리 출처: 문제 여기 이진트리가 있다. 순회방법은 3가지가 있다. 1. 전위순회 2. 중위순회 3. 후위순회 편의상 왼쪽 단말노드를 ln, 오른쪽 단말노드를 rn, 이 두개의 부모를 node라고 하겠다. 전위순회 node를 먼저 출력하고 ln부터 출력하는 시스템이다. ln끝까지 출력하고 난 뒤 rn을 출력한다. 즉, 여기서는 1 - 2 - 4 - 5 - 3 - 6 - 7 의 순서이... 재귀함수section8인프런section8 순열구하기 문제풀이 문제접근법 m=2이고, n=3일때의 예시이다. 1. L=m일때 재귀함수를 종료한다. if(L===m) ch[i]를 확인한다. if(ch[i]===0) 재귀함수가 끝나고 다시 위층으로 올라갈때(ex. L=2 -> 1) ch[i] = 1 이였던것을 다시 0으로 바꾸어 준다. ch[i]=0;... DFS재귀함수DFS TIL 작성 2021 10/6 재귀 : 하나의 로직으로 모든 문제를 풀려고 노력해 보는것. 배열 재귀 함수 arrSum(arr)은 arr의 head에 arrSum(tail)을 더하는 방식으로 구할 수 있습니다. arr = [2, 4, 5, 7] 이라고 가정하면, 첫번째 함수에서 실행이 되면, head = 2, tail = [4, 5, 7] 이다. 두번째 함수에서 실행이 되면, head = 4, tail = [5, 7] 이... debugger논리합재귀함수재귀논리곱debugger 조합구하기 문제풀이원리 문제의 핵심은 인자가 중복되면 안된다는 것이다. 즉 (1,4)가 있으면 (4,1)은 안된다. 이를 위해서 DFS(L,s)에서 s의 값을 +1해주어 이전에 했던 숫자는 다시 사용하지 못하도록 한다. 코드를 보며 더 자세히 살펴보자 else구문에서 i의 값을 s로 지정한다. 즉, i의 값이 반복문으로 인해 +1된다. 또한 재귀함수에서 DFS(L+1, i+1)이므로 결국 다음 재귀함수... DFS재귀함수DFS [boj] 215681. 트리와 쿼리 (node.js) 문제 요약 풀이 주어진 무방향 트리에서 '입력된 정점을 루트로 하는 서브트리에 속한 정점의 수를 출력한다' 는 쿼리가 주어질 때, 이 쿼리를 만족하는 결과를 구현하는 문제 루트 노드가 주어진다. 내 풀이 주어진 트리를 입력받은 후, 루트 노드에서 dfs 를 구현한다. 이때 dfs 함수는 노드에 자식 노드가 있는 경우, 자식 노드에서 다시 dfs를 수행한다. dfs 함수를 호출할 때마다 해당 ... 알고리즘DFS트리복습하기재귀함수DFS 프로그래머스 | 쿼드압축 후 개수 세기 재귀함수JavaScript월간 코드 챌린지 시즌1프로그래머스JavaScript 재귀함수란? 재귀함수,, 너란 참 양파같은 아이,, 까도까도 끝이 없는 러시아 인형같은 아이!! 어떤 문제를 해결할때, 동일한 구조의 더 작은 문제를 해결함으로써 주어진 문제를 해결하는 방법 즉, 재귀는 문제를 쪼개지지 않을때까지 쪼개는 것이다. 가장 간단한 예로 n!(factorial)을 살펴보면, n! 은 1부터 n까지 1씩 증가한 값을 곱한 결과이다. 이를 반복문으로 표현하면, 이 문제를 재귀적으로... 재귀함수재귀함수 javascript로 풀어낸 완전탐색 완전 탐색에서 비트마스크는 문제에서 나올 수 있는 모든 경우의 수가 각각의 원소가 포함되거나, 포함되지 않는 두 가지 선택으로 구성되는 경우에 유용하게 사용이 가능하다. 약간의 난이도가 있는 문제로 완전 탐색 + BFS/DFS 문제가 많이 나온다. 너비 우선 탐색(BFS, Breadth-First Search) 루트 노드(혹은 다른 임의의 노드)에서 시작해서 인접한 노드를 먼저 탐색하는 방법... 재귀함수JavaScriptDFS자바스크립트BFS비트마스크permutation너비우선탐색완전탐색순열brute forcebitmaskrecursion깊이우선탐색BFS
BJ1074 Z 문제가 어려워보이기도 하지만, 재귀함수를 이용해 구현하면 생각보다 간단한 코드로 해결할 수 있다. R행 C열을 입력 받게 되면 가장 큰 Z에서 어느 부분에 속하는 지를 찾아 수를 더해주고, 한 단계씩 작은 Z로 내려가면서 이 과정을 반복해주면 된다.... 재귀함수백준 알고리즘백준 알고리즘 [SW사관학교정글] WEEK01 개발일지 - Ⅱ 재귀함수 즉, 함수 정의 내에 같은 이름의함수가 올 때 이를 재귀함수라 한다. 재귀함수 사용 시 반드시 탈출 조건이 있어야 stack overflow를 방지할 수 있다. 재귀함수의 호출 및 리턴 과정 모든 함수는 호출되면 메모리에 새로운 공간을 확보해서 매번 전혀 다른 공간에서 작업이 진행된다. 소스 코드에서는 같은 공간처럼 보이지만 실제 실행되는 코드는 전혀 다른 공간에서 이뤄진다 main... jungle재귀함수개발일지정글jungle BJ1759 암호 만들기 이 문제는 조건에 맞는 모든 암호를 출력하는 것이다. 사전식으로 출력해야 하므로 A~Z순으로 정렬해주고, 문자에 중복이 없으므로 조합을 재귀함수로 구현하여 길이가 맞을 때 출력하면 쉽게 해결할 수 있다.... 백준 알고리즘재귀함수조합백준 알고리즘 BJ1463 1로 만들기 DP 또는 재귀함수를 이용해 해결할 수 있다. 이 문제에서는 재귀함수를 이용했을 때 실행시간이 더 짧았지만, 여러 테스트 케이스를 출력한다면 DP를 활용할 때는 단순히 배열에 접근해 값만 가져오면 되기 때문에 DP가 유리하다.... 재귀함수백준 알고리즘DPDP 분할 정복 (1) [코드] 분할 정복의 분석 //이는 뒤의 DP에서 한번 더 연습해볼 것이다.... 재귀함수재귀알고리즘분할 정복분할 정복 재귀함수 예제로 알아보기 재귀의 사전적 의미는 자기 자신을 참조한다라고 나와있다.. 구현이나 피보나치 수열에 사용 되는데 어떤 방식인지 이해가 안간다. 예제를 통해 알아보자. 예제 이 소스를 실행해보면 0~10까지 찍힐것이다. 위 소스는 이해가 잘 된다 그렇다면 아래 소스는 어떨까? 그저 print문 추가를 해주었다. 결과는 0~10 그리고 10~0으로 거꾸로 출력이 된다. 이게 어찌된 일인지 알아보자. 재귀함수의 ... 재귀함수알고리즘알고리즘 백준 1074번 - Z (파이썬) N = 0인 경우, 크기가 2 ⁰ x 2 ⁰ = 1인 배열이다. 그리고 이 큰 Z에서 섹션 0 ~ 섹션 3 중에 어디에 속하는지 확인해보았다. 예를 들어 n=1인 경우, 2 ¹ x 2 ¹ = 4 크기의 배열이니까, 길이가 가로 = 세로 = 2¹ 이다. 이렇게 재귀를 넘기면서 r과 c를 조정해주면 모두 섹션 0으로 바꿔줄 수 있다. 3) 마지막으로, 위와 같이 모두 섹션 0으로 r,c를 조절해... z백준1074번재귀함수SW사관학교정글개발일지SW사관학교정글 이진트리 순회(깊이우선탐색) 트리용어 정리 출처: 문제 여기 이진트리가 있다. 순회방법은 3가지가 있다. 1. 전위순회 2. 중위순회 3. 후위순회 편의상 왼쪽 단말노드를 ln, 오른쪽 단말노드를 rn, 이 두개의 부모를 node라고 하겠다. 전위순회 node를 먼저 출력하고 ln부터 출력하는 시스템이다. ln끝까지 출력하고 난 뒤 rn을 출력한다. 즉, 여기서는 1 - 2 - 4 - 5 - 3 - 6 - 7 의 순서이... 재귀함수section8인프런section8 순열구하기 문제풀이 문제접근법 m=2이고, n=3일때의 예시이다. 1. L=m일때 재귀함수를 종료한다. if(L===m) ch[i]를 확인한다. if(ch[i]===0) 재귀함수가 끝나고 다시 위층으로 올라갈때(ex. L=2 -> 1) ch[i] = 1 이였던것을 다시 0으로 바꾸어 준다. ch[i]=0;... DFS재귀함수DFS TIL 작성 2021 10/6 재귀 : 하나의 로직으로 모든 문제를 풀려고 노력해 보는것. 배열 재귀 함수 arrSum(arr)은 arr의 head에 arrSum(tail)을 더하는 방식으로 구할 수 있습니다. arr = [2, 4, 5, 7] 이라고 가정하면, 첫번째 함수에서 실행이 되면, head = 2, tail = [4, 5, 7] 이다. 두번째 함수에서 실행이 되면, head = 4, tail = [5, 7] 이... debugger논리합재귀함수재귀논리곱debugger 조합구하기 문제풀이원리 문제의 핵심은 인자가 중복되면 안된다는 것이다. 즉 (1,4)가 있으면 (4,1)은 안된다. 이를 위해서 DFS(L,s)에서 s의 값을 +1해주어 이전에 했던 숫자는 다시 사용하지 못하도록 한다. 코드를 보며 더 자세히 살펴보자 else구문에서 i의 값을 s로 지정한다. 즉, i의 값이 반복문으로 인해 +1된다. 또한 재귀함수에서 DFS(L+1, i+1)이므로 결국 다음 재귀함수... DFS재귀함수DFS [boj] 215681. 트리와 쿼리 (node.js) 문제 요약 풀이 주어진 무방향 트리에서 '입력된 정점을 루트로 하는 서브트리에 속한 정점의 수를 출력한다' 는 쿼리가 주어질 때, 이 쿼리를 만족하는 결과를 구현하는 문제 루트 노드가 주어진다. 내 풀이 주어진 트리를 입력받은 후, 루트 노드에서 dfs 를 구현한다. 이때 dfs 함수는 노드에 자식 노드가 있는 경우, 자식 노드에서 다시 dfs를 수행한다. dfs 함수를 호출할 때마다 해당 ... 알고리즘DFS트리복습하기재귀함수DFS 프로그래머스 | 쿼드압축 후 개수 세기 재귀함수JavaScript월간 코드 챌린지 시즌1프로그래머스JavaScript 재귀함수란? 재귀함수,, 너란 참 양파같은 아이,, 까도까도 끝이 없는 러시아 인형같은 아이!! 어떤 문제를 해결할때, 동일한 구조의 더 작은 문제를 해결함으로써 주어진 문제를 해결하는 방법 즉, 재귀는 문제를 쪼개지지 않을때까지 쪼개는 것이다. 가장 간단한 예로 n!(factorial)을 살펴보면, n! 은 1부터 n까지 1씩 증가한 값을 곱한 결과이다. 이를 반복문으로 표현하면, 이 문제를 재귀적으로... 재귀함수재귀함수 javascript로 풀어낸 완전탐색 완전 탐색에서 비트마스크는 문제에서 나올 수 있는 모든 경우의 수가 각각의 원소가 포함되거나, 포함되지 않는 두 가지 선택으로 구성되는 경우에 유용하게 사용이 가능하다. 약간의 난이도가 있는 문제로 완전 탐색 + BFS/DFS 문제가 많이 나온다. 너비 우선 탐색(BFS, Breadth-First Search) 루트 노드(혹은 다른 임의의 노드)에서 시작해서 인접한 노드를 먼저 탐색하는 방법... 재귀함수JavaScriptDFS자바스크립트BFS비트마스크permutation너비우선탐색완전탐색순열brute forcebitmaskrecursion깊이우선탐색BFS