코드 메이트에서 최댓값의 위치를 구하는 퀴즈를 만났다.
나는 최댓값의 위치를 구하기 전 최댓값 구하는 방법을 생각해보기로 했다.
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
잘 작동하는 것을 볼 수 있다 =)
'Study > 파이썬[Python]' 카테고리의 다른 글
파이썬[Python] | 파이썬의 자료형 (0) | 2023.05.26 |
---|---|
파이썬[Python] 004. 크롤링을 하기 전에.. 라이브러리란? (0) | 2022.03.05 |
파이썬[Python] 003. 크롤링의 정의 (0) | 2022.03.03 |
파이썬[Python] 002. 최댓값의 위치 구하기 (0) | 2022.02.28 |