2025/02 53

Recursion (재귀호출)

재귀호출(Rescursion) 개념  재귀(Recursion) : 함수가 자기 자신을 호출하는 방식  스택(Stack) 구조를 사용하여 동작  종료조건을 만나면, 스택에서 하나씩 꺼내며 연산 수행 시작점과 종료 지점을 잘 정해야 한다.def factorial(n): if n == 1: # 종료 조건 (Base Case) return 1 return n * factorial(n - 1) # 재귀 호출 factorial 실행흐름factorial(5) → 5 * factorial(4)factorial(4) → 4 * factorial(3)factorial(3) → 3 * factorial(2)factorial(2) → 2 * factorial(1)factorial(1) → 1 (B..

Stack 예시문제

기본 예제# 스택을 구현해 봅시다.# 구현한 스택을 이용하여 3개의 데이터를 스택에 저장하고 다시 3번꺼내서 출력해봅니다.#간단한 스택top = -1stack = [0] * 10top += 1 # push(1)stack[top] = 1top += 1 # push(2)stack[top] = 2top += 1 # push(3)stack[top] = 3top -= 1 #pop()print(stack[top+1])top -= 1 #pop()print(stack[top+1])top -= 1 #pop()print(stack[top+1])  Stack의 활용 : 백준 9012번 괄호 https://www.acmicpc.net/problem/9012import sysdef is_valid_parentheses(stri..

Stack , Queue, Deque (스택, 큐, 덱)

✅Stack, Queue, Deque(스택, 큐, 덱)저장공간 = [[1],[2],[3],[4],[5],[6]] 저장공간에서 필요한 데이터를 꺼낼 것이다.저장공간은 자료가 선형으로 저장되어 있다. Stack : 마지막에 들어온 데이터를 먼저 꺼내자, 후입선출 LIFO(Last In First Out) 구조   ex) 크롬의 뒤로 가기, 접시 꺼내기, 후입 선출 # Stack 완전 기본 코드 (개념 이해)stack = [] # 동적 메모리, 컴파일 될 때 크기가 확정되는게 아니라, 실행단계에서 계속 왔다가 갔다가 함.stack.append(1)stack.append(2)stack.append(3)print(stack.pop())print(stack.pop())print(stack.pop()) Stack 주..