01. 알고리즘 (Algorithm)
1. 알고리즘 (algorithm) 이란?
알고리즘 : 어떠한 문제를 해결하기 위해 정해 놓은 일련의 절차
특히 올바른 알고리즘이란 '어떠한 경우에도 실행 결과가 똑같이 나오는 것'을 말합니다. 만약 알고리즘의 실행 결과가 어떤 경우에는 맞고 어떤 경우에는 틀리면 올바른 알고리즘이라고 할 수 없습니다.
2. 알고리즘 예시
1) 세 정수의 최댓값을 구하는 알고리즘
def max3(a, b, c):
maximum = a
if b > maximum: maximum = b
if c > maximum: maximum = c
return maximum
print(f"max3(1,2,3) = {max3(1,2,3)}")
print(f"max3(1,3,2) = {max3(1,3,2)}")
print(f"max3(2,1,3) = {max3(2,1,3)}")
print(f"max3(2,3,1) = {max3(2,3,1)}")
print(f"max3(3,1,2) = {max3(3,1,2)}")
print(f"max3(3,2,1) = {max3(3,2,1)}")
>>> max3(1,2,3) = 3
max3(1,3,2) = 3
max3(2,1,3) = 3
max3(2,3,1) = 3
max3(3,1,2) = 3
max3(3,2,1) = 3
- max3()함수에 어떤 값을 넣더라도 최댓값을 잘 구할 수 있습니다.
2) 연속하는 정수의 합을 구하는 알고리즘
def sum_atob(a, b):
sum = 0
for i in range(a, b+1):
sum += i
return sum
print(f"sum_atob(1,2) = {sum_atob(1,2)}")
print(f"sum_atob(1,3) = {sum_atob(1,3)}")
print(f"sum_atob(1,4) = {sum_atob(1,4)}")
print(f"sum_atob(1,5) = {sum_atob(1,5)}")
>>> sum_atob(1,2) = 3
sum_atob(1,3) = 6
sum_atob(1,4) = 10
sum_atob(1,5) = 15
- sum_atob()함수에 어떤 값을 넣더라도 연속하는 정수의 합을 잘 구할 수 있습니다.
3) 세 정수의 중앙값을 구하는 알고리즘
def med3(a, b, c):
if a>=b:
if b>=c:
return b
elif c>=a:
return a
else:
return c
elif a>=c:
return a
else:
if c>=b:
return b
else:
return c
print(f"med3(1,2,3) = {med3(1,2,3)}")
print(f"med3(1,3,2) = {med3(1,3,2)}")
print(f"med3(2,1,3) = {med3(2,1,3)}")
print(f"med3(2,3,1) = {med3(2,3,1)}")
print(f"med3(3,1,2) = {med3(3,1,2)}")
print(f"med3(3,2,1) = {med3(3,2,1)}")
print(f"med3(1,1,2) = {med3(1,1,2)}")
print(f"med3(1,2,1) = {med3(1,2,1)}")
print(f"med3(2,1,1) = {med3(2,1,1)}")
print(f"med3(1,1,1) = {med3(1,1,1)}")
>>> med3(1,2,3) = 2
med3(1,3,2) = 2
med3(2,1,3) = 2
med3(2,3,1) = 2
med3(3,1,2) = 2
med3(3,2,1) = 2
med3(1,1,2) = 1
med3(1,2,1) = 1
med3(2,1,1) = 1
med3(1,1,1) = 1
- med3()함수에 어떤 값을 넣더라도 중앙값을 잘 구할 수 있습니다.
Author And Source
이 문제에 관하여(01. 알고리즘 (Algorithm)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@marigold/01.-알고리즘-Algorithm저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)