[알고리즘] 최댓값과 최솟값

Jimin_Note·2025년 8월 28일
0
post-thumbnail

최댓값 & 최솟값 알고리즘

1. 최댓값 (Maximum)

nums = [-2, -4, 5, 7, 10, 0, 8, 20, -11]

maxNum = nums[0]  # 첫 번째 값을 초기값으로 설정
for i in range(1, len(nums)):
    if nums[i] > maxNum:
        maxNum = nums[i]

print("리스트:", nums)
print("최댓값:", maxNum)

리스트: [-2, -4, 5, 7, 10, 0, 8, 20, -11]
최댓값: 20

💻 실습 문제

과제: 리스트에서 아스키 코드 값이 가장 큰 문자를 찾는 알고리즘 구현

chars = ['a', 'z', 'm', 'A', 'Q']

maxChar = chars[0]
for i in range(1, len(chars)):
    if ord(chars[i]) > ord(maxChar):  # 아스키 코드 값 비교
        maxChar = chars[i]

print("리스트:", chars)
print("아스키 코드 최댓값 문자:", maxChar)
print("아스키 코드 값:", ord(maxChar))

리스트: ['a', 'z', 'm', 'A', 'Q']
아스키 코드 최댓값 문자: z
아스키 코드 값: 122

2. 최솟값 (Minimum)

💻 예제 코드

nums = [-2, -4, 5, 7, 10, 0, 8, 20, -11]

minNum = nums[0]  # 첫 번째 값을 초기값으로 설정
for i in range(1, len(nums)):
    if nums[i] < minNum:
        minNum = nums[i]

print("리스트:", nums)
print("최솟값:", minNum)

리스트: [-2, -4, 5, 7, 10, 0, 8, 20, -11]
최솟값: -11

💻 실습 코드

chars = ['a', 'z', 'm', 'A', 'Q']

minChar = chars[0]
for i in range(1, len(chars)):
    if ord(chars[i]) < ord(minChar):  # 아스키 코드 값 비교
        minChar = chars[i]

print("리스트:", chars)
print("아스키 코드 최솟값 문자:", minChar)
print("아스키 코드 값:", ord(minChar))

리스트: ['a', 'z', 'm', 'A', 'Q']
아스키 코드 최솟값 문자: A
아스키 코드 값: 65


파이썬 내장 함수 max(), min() 을 쓰면 간단히 해결되지만,
학습 목적상 직접 반복문을 통해 구현해보는 것이 알고리즘 이해에 도움이 된다!

profile
Hello. I'm jimin:)

0개의 댓글