728x90
반응형
오늘은 다양한 방법으로 입력된 값에 대한 합을 구해볼게요.
1. 재귀 함수 사용
def Sum1(data):
if data <= 1:
return data
else:
return data + Sum1(data-1)
print(Sum1(10))
2. 합 공식 사용
합 공식 : (n *(n+1) //2)
def Sum2(data):
return (data * (data + 1) // 2)
print(Sum2(10))
3. 반복문 사용
while 문 이용
def Sum3(data):
sum = 0
while data > 0:
sum = sum + data
data = data - 1
return sum
print(Sum3(10))
총 3가지 방법으로 파이썬 합 구하는 법을 알아봤습니다.
어떤 알고리즘이 좋은 지에 대해 100%로 단정 지어 이야기할 수는 없지만,
data 즉 n 이 커지면 커질 수 록, 재귀함수나 반복문을 사용한 경우 시간 복잡도가 O(n)이지만,
수학 공식을 이용해서 프로그램을 짜면 아무리 숫자가 커져도 시간 복잡도는 O(1), 상수 시간이 소요됩니다.
하지만 복잡한 알고리즘을 구성할 때는 재귀 함수만큼 편리한 것도 없기 때문에 재귀 함수를 제대로 공부하는 걸 추천드립니다.
반응형
'Python > Python Basic' 카테고리의 다른 글
파이썬 2진수, 8진수, 10진수, 16진수 변환 (내장함수, format함수) - 공부하는 도비 (2) | 2021.07.21 |
---|---|
파이썬 rand, randn, randint, random.sample, seed, size, shuffle - 공부하는 도비 (1) | 2021.04.19 |
파이썬 문자열 치환, 리스트 치환 replace 사용법 - 공부하는 도비 (0) | 2021.02.03 |
파이썬 SQLite Database Browser 파이썬 연동 및 DB 생성 - 공부하는 도비 (0) | 2021.01.18 |
파이썬 SQLite Database Browser Portable 다운 및 파이썬 연동 - 공부하는 도비 (0) | 2021.01.15 |