Study/파이썬[Python]

파이썬[Python] 001. 최댓값 구하기

jaeyeong 2022. 2. 27. 22:30

코드 메이트에서 최댓값의 위치를 구하는 퀴즈를 만났다.

나는 최댓값의 위치를 구하기 전 최댓값 구하는 방법을 생각해보기로 했다.

 

1. 먼저 최댓값 함수를 정의해준다.

2. a라는 리스트에 어떤 값이 얼마나 있는지 알 수 없기 때문에 리스트에 가장 첫 번째 있는 수인 a[0]를 최댓값으로 지정해준다.

3. 리스트 a에 n개의 숫자가 있고 차례대로 첫 번째 수와 크기 비교를 하여, 비교한 수의 크기가 더 작다면 넘어가고, 더 크다면 그 값을 최댓값으로 설정한다.

4. 그리고 최종 출력 값은 최댓값으로 한다.

def max(a):
	max_value=a[0]
	for i in range(1,len(a)):
    	if a[i]>max_value:
        	max_value=a[i]
    return max_value

그럼 위와 같은 코드를 작성할 수 있게 된다.

 

이때 범위를 range(1, len(a))로 두는 이유는

 

1) 프로그래밍 언어는 순서를 정할 때 1이 아닌 0부터 시작한다. 

2) 위와 같은 이유로 첫 번째 수는 a[0], 두 번째 수는 a[1]이고, 두번째 수부터 비교를 시작하니 for문의 range는 1부터 시작한다.

3) range(a, b)는 a번부터 b-1번까지의 범위이다.

4) 리스트 a에 실제로 n개가 있다고 하면 1번을 이유로 하여 리스트 a의 마지막 수는 n-1번이 된다.

5) len(a)는 리스트 a의 총개수이다. (len(a)=n) -> range(1, len(a))는 range(1, n)이 되고 1부터 n-1까지가 된다.

6) 따라서 range(1, len(a))로 두어야 리스트 내 모든 수가 비교될 수 있다.

 

그럼 리스트 a를 지정하고 최댓값을 뽑아보자!

a=[1, 14, 5, 2, 12, 6]
print(max(a))

>>> 14

 

잘 작동하는 것을 볼 수 있다 =)