본문 바로가기
Algorithm

[파이썬으로 알고리즘배우기-1] 최대값 구하기

by 노마드공학자 2021. 2. 6.

 

 

 

"a,b,c 3개의 숫자들중 최대값을 찾는 알고리즘을 구현해보기"

 

 


① 각각의 모든 케이스에 대해 비교해보기

 

a>b를 비교하고 True라면, a>c를 비교해서 True라면 a가 최대값

b>a가 True라면, b>c를 비교해서 True이면 b가 최대값

c>a가 True라면, c>b를 비교해서 True이면 c가 최대값

 

 

 

[알고리즘 설명]

초등학생들도 생각할 수 있을법한 알고리즘으로 구현해보았습니다.

3개의 숫자 모두 각각을 비교해보면 최대값이 무엇인지 알 수 있는 코드입니다.

따라서 총 조건문의 갯수는 (3P(factorial)2) 6개입니다.

 

 

 

② 조건문을 2개만 사용하여 풀어보기

 

위의 예제에서는 조건문을 총 6개 사용하였는데요, 조건문의 갯수를 3분의1개로 줄인 2개로 구현해보겠습니다.

 

 

 

 

코드가 아주 간단해졌습니다.

 

maximum이라는 변수에 a를 저장하고,

b>maximum인경우에만, maximum=b로 변경합니다.

따라서, 첫번째 if문을 통과하는 maximum이라는 변수의 값은 a와b중 큰값입니다.

그다음, c>maximum이라는 조건문을 통해 a와b중 큰값과 c를 비교하여 c가 큰경우에는 c를 maximum으로, 아닌경우에는 첫번째 조건문에서 통과했던 최대값을 maximum으로 그대로 가지고 있습니다.

 

 

 

 

def max(a,b,c) 라는 함수를 만들어, 언제든 호출할 수 있도록 구현할수도 있습니다.

 

댓글