⁕ 주어진 숫자들 중 최댓값 구하는 방법
arr = [1, 5, 2, 5, 3, 9]
max_val = 0
for elem in arr:
if elem > max_val:
max_val = elem
print(max_val)
>> 출력
9
하지만 주어진 숫자가 음수일 경우 위의 코드대로 진행하면 최댓값을 구할 수 없다.
arr = [-1, -5, -2, -5, -3, -9]
max_val = 0
for elem in arr:
if elem > max_val:
max_val = elem
print(max_val)
>> 출력
-1
위와 같은 문제가 발생한 근본적인 이유에 대해 생각해보면, 주어진 숫자보다 지정한 최댓값의 초기값이 큰 것이 문제였다.
[sol①] -sys.maxsize
사용
import sys
arr = [-1, -5, -2, -5, -3, -9]
max_val = -sys.maxsize
for elem in arr:
if elem > max_val:
max_val = elem
print(max_val)
>> 출력
-1
[sol②] 최댓값의 초기값을 첫번째 원소로 지정한다.
max_val = arr[0]
arr = [-1, -5, -2, -5, -3, -9]
max_val = arr[0]
for elem in arr:
if elem > max_val:
max_val = elem
print(max_val)
>> 출력
-1