Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 봄 노래
- 정처기 실기
- 갤럭시 위치추적
- 코딩테스트실력진단
- 삼성 싸피 지원
- 인디노래 추천
- LG 서비스센터 영업시간
- 그램 액정 교체비용
- 싸피 혜택
- 싸피 지원자격
- 정처기 후기
- SSAFY
- 싸피 추천코드
- 정보처리기사 준비물
- 싸피 추천인
- 코딩테스트
- gram 액정 교체
- 폰 잃어버렸을때
- 폰 도난
- 정처기 인강 추천
- 삼성 싸피
- 학생메일
- 정보처리기사 실기
- 폰 찾기
- 폰 위치추적
- #코드트리 #코딩테스트 #코딩테스트실력진단
- 싸피 모집설명회
- 싸피 모집설명회 다시보기
- 코드트리
- 싸피 11기
Archives
- Today
- Total
포포's 코딩&일상 기록
[python] 최솟값 정하는 방법 본문
만약 주어진 모든 원소들이 전부 음수라면, 예상과는 다르게 최댓값이 0으로 구해지게 됩니다. 이 까닭은 초기값이 0으로 셋팅되어 있어, 의도와는 다르게 갱신이 전혀 일어나지 않기 때문입니다.
arr = [-1, -5, -2, -5, -3, -9]
max_val = 0
for elem in arr:
if elem > max_val:
max_val = elem
print(max_val)
>> 0
다음 문제에 대한 해결책은 크게 2가지가 있습니다.
첫 번째 방법은, 주어지는 숫자들 값보다 더 작은 숫자를 초기값으로 설정하는 것입니다. 이 경우 python에서는 -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
두 번째 방법은, max_val의 초기값을 첫 번째 원소로 하고, 원소를 비교하는 것을 두 번째 원소부터 진행하는 것입니다. 두 번째 원소부터 비교를 진행하기 위해서는 arr[1:]로 비교해야할 원소들을 재정의해주면 좋습니다.
arr = [-1, -5, -2, -5, -3, -9]
max_val = arr[0]
for elem in arr[1:]:
if elem > max_val:
max_val = elem
print(max_val)
>> -1
python의 경우 max() 함수를 바로 이용하는 방법도 있지만, 처음에는 직접 구현하여 동작 원리를 이해해보는 것을 추천드립니다.
arr = [-1, -5, -2, -5, -3, -9]
print(max(arr))
>> -1