python 알고리즘 02

David Kim·2023년 3월 29일
0

알고리즘

목록 보기
2/2

평균

  • 여러 수, 양의 중간값을 갖는 수
import random as rd

nums = rd.sample(range(0, 100), 10)
print(f'nums: {nums}')

total = 0
for n in nums:
    total += n

average = total / len(nums)
print(f'average: {average}')

# 조건 달기: 50이상 90이하 수들의 평균
import random as rd

nums = rd.sample(range(0, 100), 30)
print(f'nums: {nums}')

total = 0
targetNums = []
for n in nums:
    if n >= 50 and n <= 90:
        total += n
        targetNums.append(n)

average = total / len(targetNums)
print(f'targetNums: {targetNums}')
print(f'average: {round(average, 2)}')
# 조건 달기: 정수와 실수가 섞여 있을때 정수들의 평균

import random as rd

nums = [4, 5.12, 0, 5, 7.34, 9.1, 9, 3, 3.159, 1, 11, 12]

targetNums = []
total = 0

for n in nums:
    if n - int(n) == 0:
        total += n
        targetNums.append(n)

average = total / len(targetNums)

print(f'targetNums: {targetNums}')
print(f'average: {average}')
# 조건 달기: 정수와 실수가 섞여 있을때 실수들의 평균

import random as rd

nums = [4, 5.12, 0, 5, 7.34, 9.1, 9, 3, 3.159, 1, 11, 12]

targetNums = []
total = 0

for n in nums:
    if n - int(n) != 0:
        total += n
        targetNums.append(n)

average = total / len(targetNums)

print(f'targetNums: {targetNums}')
print(f'average: {round(average, 2)}')

재귀 알고리즘

  • 재귀함수(Recursive function)는 함수 내부에서 자기 자신을 호출하여 반복적인 작업을 수행하는 함수입니다.

재귀함수는 주로 다음과 같은 상황에서 사용됩니다.

  1. 반복문으로 해결하기 어려운 작업
  • 재귀함수는 함수가 자기 자신을 호출하여 작업을 수행하기 때문에, 복잡한 반복 작업을 수행할 때 반복문으로 해결하기 어려운 경우에 사용됩니다.
  1. 자연스러운 데이터 구조
  • 재귀함수는 자연스러운 데이터 구조를 다루는데 유용합니다. 예를 들어, 트리(Tree)와 같은 계층적인 데이터 구조를 처리할 때 재귀함수를 사용하면 편리합니다.
  1. 코드의 가독성 향상
  • 일부 경우, 재귀함수를 사용하면 코드의 가독성이 향상될 수 있습니다.
  • 예를 들어, 피보나치 수열을 계산하는 경우, 재귀함수를 사용하면 수식을 그대로 표현할 수 있어 코드의 가독성이 좋아집니다.

하지만, 재귀함수는 무한루프에 빠질 수 있으며, 메모리 스택 오버플로우 에러가 발생할 수 있습니다. 따라서, 재귀함수를 구현할 때는 종료조건을 반드시 명시해야하며, 호출 스택이 너무 커지지 않도록 주의해야합니다.

0개의 댓글