[Python]알고리즘 2. 최댓값 구하기

UkiUkhui·2022년 3월 6일
0

파이썬잘하고싶다

목록 보기
15/19

1. 리스트 주요 기능

1) len(a)

  • 리스트 길이(자료의 개수)
a = []
len(a) # 0 출력
len([1, 2, 3]) # 3 출력

2) append(x)

  • 자료 x를 리스트 맨 뒤에 추가
a = [1,2,3]
a.append(4) # a= [1,2,3,4]

3) insert(i, x)

  • 리스트의 i번 위치에 x 추가
a = [1,2,3]
a.insert(0,5) # a = [5,1,2,3]

4) pop(i)

  • i번 위치에 있는 자료를 리스트에서 빼내면서 그 값을 함수의 결과값으로 돌려줌
  • 매개변수를 주지 않으면 맨 마지막 값을 돌려줌
a = [1,2,3]
a.pop() # 3 return

5) clear()

  • 리스트의 모든 값을 지움
a = [1,2,3]
a.clear() # a=[]

6) x in a

  • 어떤 자료 x가 a 안에 있는지 확인
  • x not in a : 결과가 반대로 나옴
a = [1, 2, 3]

2 in a #True
5 in a # False
5 not in a # True

2. 최댓값 구하는 알고리즘

def max_n(a):
	n = len(a)
    max_v = a[0]
    for i in range(1, n):
    	if a[i] > max_v:
        	max_v = a[i]
    return max_v
    

3. 알고리즘 분석

max_n(a) : 비교 연산 n-1번 수행 ==> O(n)

4. 응용

1) 최댓값이 있는 위치 알려주는 알고리즘

def find_max_index(a):
	n = len(a)
    max_idx = 0
    for i in range(1, n):
    	if a[i] > a[max_idx]:
        	max_idx = i
    return i

a[최댓값의 위치번호] = 최댓값

2) 최솟값 구하기

def min_n(a):
	n = len(a)
    min_v = a[0]
    for i in range(1, n):
    	if a[i] < min_v:
        	min_v = a[i]
    return min_v
profile
hello world!

0개의 댓글