이 글에서는 배열 안에서 가장 큰 요소를 찾는 파이썬 프로그램을 작성하는 방법을 알아보겠습니다. 초보자도 쉽게 따라 할 수 있도록 단계별로 설명하겠습니다.
문제 정의
주어진 배열에서 가장 큰 요소(최댓값)를 계산해야 합니다. 예를 들어 [23, 1, 32, 67, 2, 34, 12]라는 배열이 있다면, 그중 가장 큰 값인 67을 찾아내야 합니다.
접근 방식
여기서는 브루트포스(완전 탐색) 방법을 사용합니다. 이 방법은 배열의 첫 번째 요소를 초기 최댓값으로 설정한 뒤, 배열 전체를 순회하면서 각 요소를 현재 최댓값과 비교합니다. 비교 대상이 더 크다면 최댓값을 갱신하고, 순회가 끝나면 최종적으로 남은 값이 배열의 최댓값이 됩니다.
시간 복잡도는 O(n)으로, 배열의 크기에 비례하여 한 번씩만 순회하기 때문에 효율적입니다.
구현 예제
# 최댓값을 찾는 함수
def largest(arr, n):
# 첫 번째 요소를 초기 최댓값으로 설정
max = arr[0]
# 배열 전체를 순회하며 비교
for i in range(1, n):
if arr[i] > max:
max = arr[i]
return max
# 실행 코드
arr = [23, 1, 32, 67, 2, 34, 12]
n = len(arr)
Ans = largest(arr, n)
print("배열에서 가장 큰 요소는", Ans)
실행 결과
배열에서 가장 큰 요소는 67
코드 설명
largest() 함수는 배열과 배열의 길이를 인수로 받습니다. 먼저 배열의 첫 번째 요소를 최댓값 변수에 저장한 후, 인덱스 1부터 마지막까지 반복문을 돌며 각 요소가 현재 최댓값보다 큰지 확인합니다. 더 큰 요소를 발견하면 최댓값을 해당 요소로 교체하고, 모든 순회가 끝나면 최댓값을 반환합니다.
마무리
이처럼 단순한 선형 탐색만으로도 배열에서 가장 큰 요소를 손쉽게 구할 수 있습니다. 참고로 실무에서는 내장 함수인 max(arr)를 사용하면 한 줄로 같은 결과를 얻을 수 있으며, 이번 예제는 그 원리를 직접 이해하는 데 도움이 됩니다.