jun-wiki

View My GitHub Profile

Posts (Latest 10 updated) :
Read all
Contents:
  1. 반복문 (Loop)
    1. 개념
    2. 특징
    3. 예시
      1. for문
      2. while문
  2. 재귀함수 (Recursion)
    1. 개념
    2. 특징
    3. 예시
      1. 팩토리얼

반복문 (Loop)

개념

  • 반복문은 코드 블록을 여러 번 반복해서 실행함
  • for문while문이 대표적임

    특징

  • 명확하게 몇 번 반복할지 (혹은 조건이 언제 끝날지) 를 알 때 주로 사용

  • 속도빠르고, 메모리 효율적

예시

for문

for i in range(5):
    print(i)
# 0, 1, 2, 3, 4 출력

while문

i = 0
while i < 5:
    print(i)
    i += 1
# 0, 1, 2, 3, 4 출력


재귀함수 (Recursion)

개념

  • 재귀1함수는 함수가 자기 자신을 다시 호출하는 함수

  • 큰 문제를 동일한 구조의 더 작은 문제로 쪼갤 때 유용

  • 스택과도 연이 있음. 차곡차곡 쌓은 뒤 다시 풀어나가는 형태의 흐름이다.

특징

  • 문제를 더 작은 문제로 쪼개서 해결할 때 직관적

  • 종료 조건(base case)이 반드시필요함. 없으면 무한히 자기 자신을 부름 → 에러 발생

  • 반복문보다 코드가 간단해질 수 있으나, 메모리 소모가 크고 속도가 느릴 수 있음(특히 깊은 재귀)

  • 대표적인 예: 트리 구조 탐색, 하노이의 탑, 분할정복 알고리즘 등

  • for문과 만나면 지랄나니 만나지 못하게 다리를 걸어라, 두번 걸어라

    예시

    팩토리얼

    ```py def factorial(n): if n == 1: return 1 return n * factorial(n-1)

print(factorial(5)) # 120 출력

<br>


### 피보나치 수열
```py
def fib(n):
    if n <= 2:
        return 1
    return fib(n-1) + fib(n-2)

print(fib(5))  # 5 출력



아직도 이해가 안될 경우 클릭!




각주 :

  1. 어떤 것을 정의할 때 자기 자신을 참조하는 것을 의미