일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이메일인증
- mac jdk 설치
- Spring
- LOL
- oracle
- tomcat
- 자바스크립트
- 스프링
- oraclejdk
- 마이바티스
- 롤
- 파이썬
- jdk
- 테이블
- 회원가입
- Java
- 데이터베이스
- 알고리즘
- Jdk버전 변경
- Python
- 리그오브레전드
- MacOSJdk
- SQL
- NoSQL
- Database
- MSI
- 다국어처리
- jQuery
- 롤토체스 꿀팁
- 롤토체스
- Today
- Total
웹쟁이의 일상
[Algorithm] 파이썬으로 주어진 숫자 중 최대값 구하기 본문
안녕하세요~ 오늘 풀어볼 알고리즘은
주어진 숫자 n개 중 가장 큰 숫자를 찾는 알고리즘을 구현해 보는 것 입니다.
예를 들어 4, 7, 12, 25, 2, 47, 18, 24 중 가장 큰 숫자인 47을 찾는 알고리즘입니다.
이 문제를 풀기 위해서는 리스트를 알아야 합니다.
우리는 모두 파이썬 말고도 다른 프로그래밍 언어를 접하면서 배열이 무엇인지 공부했기 때문에
푸는데 큰 문제는 없을 것입니다. 그러므로 리스트에 대한 기본적인 설명은 넘어가겠습니다.
다시 최대값 찾기 문제로 돌아와서 4, 7, 12, 25, 2, 47, 18, 24 중 최대값을 찾는 알고리즘을 정리해 보겠습니다.
1.첫 번째 숫자 4를 7과 비교합니다. 7이 더 크니 현재 최대값은 7입니다.
2. 7과 세번째 숫자 12를 비교합니다. 12가 더 크기 때문에 12가 현재 최대값입니다.
...
설명만 들어도 어떻게 구현해야 될 지 답이 나오는 것 같죠?
이 알고리즘을 파이썬으로 만들어 보겠습니다.
def max_search(list):
n = len(list) #입력 크기 n
maxValue = list[0] #리스트의 첫 번째 값을 최대값으로 초기화
for i in range(1, n): #1부터 n까지 반복 실행
if list[i] > maxValue: #만약 이번 값이 최대값보다 크다면
maxValue = list[i] #최대값을 i번째 값으로 변경
return maxValue #설정된 최대값을 반환
list = [4, 7, 12, 25, 2, 47, 18, 24]
print(max_search(list))
아주 쉽게 콘솔에 답이 찍히게 됩니다.
그렇다면 다음으로는 문제를 살짝 바꿔보겠습니다.
이번에는 리스트에 숫자가 n개가 있을 때 가장 큰 값이 있는 위치 번홀을 돌려주는 알고리즘을 만들어 보겠습니다.
첫 문제가 최대값을 찾는 문제였다면 이번 문제는 최대값이 리스트의 몇 번째 방에 들어 있는지 판단하는 문제입니다.
첫 문제의 리스트를 보면[4, 7, 12, 25, 2, 47, 18, 24] 중 최대값 47이 들어있는 위치는 5번째 이기 때문에 답은 5입니다.
그렇다면 파이썬으로는 어떻게 코드를 작성해야 하는지 알아보겠습니다.
def max_index_search(list):
n = len(list) #입력 크기 n
maxIndex = list[0] #리스트 중 0번째 방을 최대값이 들어있는 위치로 설정
for i in range(1, n):
if list[i] > list[maxIndex]: #만약 이번 값이 현재 설정된 최대값보다 크면
maxIndex = i #최대값이 들어있는 위치를 변경
return maxIndex
list = [4, 7, 12, 25, 2, 47, 18, 24]
print(max_index_search(list))
이번에도 간단하게 알고리즘을 만들어 보았습니다.
아주 쉽죠?
오늘은 파이썬으로 리스트의 최대값을 구하는 알고리즘을 만들어 보았습니다.
파이썬은 문법이 아주 간결하기 때문에 초보자들이 접하기 쉽다는 장점이 있어서
알고리즘 공부를 더 수월하게 할 수 있는 것 같습니다.
'Python' 카테고리의 다른 글
[Python] 팩토리얼 구하는 알고리즘(Feat.재귀함수) (0) | 2019.06.24 |
---|---|
[Algorithm] 파이썬으로 1부터 n까지의 합 구하기 (0) | 2019.06.03 |
[Python] Pycharm(파이참) 설치 방법 (0) | 2019.06.01 |
Python(파이썬) 설치하고 실행하기 (1) | 2019.05.30 |