Java알고리즘 [Java알고리즘] 7-3. 팩토리얼 [결과] Solution(5) = 5 × Solution(4) = 5 × (4×3×2×1) = 120 Solution(4) = 4 × Solution(3) = 4 × (3×2×1) = 24 Solution(3) = 3 × Solution(2) = 3 × (2×1) = 6 Solution(2) = 2 × Solution(1) = 2 × 1 = 2 Solution(5) = 120... Java알고리즘Java알고리즘 [Java알고리즘] 7-4. 피보나치 재귀(메모이제이션) [결과] 매번 Solution()을 호출할 필요 없이, 한 번만 호출하고 fibo[]에 저장한다. 결과값은 fibo[] 배열에 저장된 값을 for문으로 출력하므로, 실행 속도가 빨라진다. [결과] if(fibo[n]>0) = fibo[n] 값이 이미 존재한다면, 다시 연산할 필요없이 return fibo[n]을 해주기 때문에 속도 효율이 굉장히 증가한다.... Java알고리즘Java알고리즘 [Java알고리즘] 7-2. 이진수 출력(재귀) Java알고리즘Java알고리즘 [Java알고리즘] 7-1. 재귀함수(스택프레임) Java알고리즘Java알고리즘 [Java알고리즘] 5-2. 괄호문자제거 Java알고리즘Java알고리즘 [Java알고리즘] 5-1. 올바른 괄호(Stack, Queue) 스택(Stack)은 "쌓다"라는 의미로, 데이터를 차곡차곡 쌓아 올린 형태의 자료구조이다. 위의 사진과 같이 데이터가 순서대로 쌓이며 가장 마지막에 삽입된 자료가 가장 먼저 삭제되는 구조를 가지고 있다. 또한, 스택은 정해진 방향으로만 쌓을 수 있고, top으로 정한 곳을 통해서만 접근할 수 있다. 새로 삽입되는 자료는 top이 가리키는 가장 맨 위에 쌓이게 되며, 자료를 삭제할 때도 top... Java알고리즘Java알고리즘 [Java알고리즘] 5-3. 크레인 인형뽑기(카카오) Java알고리즘Java알고리즘
[Java알고리즘] 7-3. 팩토리얼 [결과] Solution(5) = 5 × Solution(4) = 5 × (4×3×2×1) = 120 Solution(4) = 4 × Solution(3) = 4 × (3×2×1) = 24 Solution(3) = 3 × Solution(2) = 3 × (2×1) = 6 Solution(2) = 2 × Solution(1) = 2 × 1 = 2 Solution(5) = 120... Java알고리즘Java알고리즘 [Java알고리즘] 7-4. 피보나치 재귀(메모이제이션) [결과] 매번 Solution()을 호출할 필요 없이, 한 번만 호출하고 fibo[]에 저장한다. 결과값은 fibo[] 배열에 저장된 값을 for문으로 출력하므로, 실행 속도가 빨라진다. [결과] if(fibo[n]>0) = fibo[n] 값이 이미 존재한다면, 다시 연산할 필요없이 return fibo[n]을 해주기 때문에 속도 효율이 굉장히 증가한다.... Java알고리즘Java알고리즘 [Java알고리즘] 7-2. 이진수 출력(재귀) Java알고리즘Java알고리즘 [Java알고리즘] 7-1. 재귀함수(스택프레임) Java알고리즘Java알고리즘 [Java알고리즘] 5-2. 괄호문자제거 Java알고리즘Java알고리즘 [Java알고리즘] 5-1. 올바른 괄호(Stack, Queue) 스택(Stack)은 "쌓다"라는 의미로, 데이터를 차곡차곡 쌓아 올린 형태의 자료구조이다. 위의 사진과 같이 데이터가 순서대로 쌓이며 가장 마지막에 삽입된 자료가 가장 먼저 삭제되는 구조를 가지고 있다. 또한, 스택은 정해진 방향으로만 쌓을 수 있고, top으로 정한 곳을 통해서만 접근할 수 있다. 새로 삽입되는 자료는 top이 가리키는 가장 맨 위에 쌓이게 되며, 자료를 삭제할 때도 top... Java알고리즘Java알고리즘 [Java알고리즘] 5-3. 크레인 인형뽑기(카카오) Java알고리즘Java알고리즘