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

Stella·2023년 9월 2일

1. 최댓값

자료구조에서 가장 큰 값을 찾는다.

class MaxAlgorithm:
    def __init__(self, ns):
        self.nums = ns
        self.maxNum = 0

    def getMaxNum(self):
        self.maxNum = self.nums[0] # 0부터 시작하기 위해 0으로 초기화시킨다. 

        for n in self.nums:
            if self.maxNum < n:
                self.maxNum = n

        return self.maxNum;

ma = MaxAlgorithm([-2, -4, 5, 7 ,10, 0, 8, 20, 110])
maxNum = ma.getMaxNum()
print(f'maxNum: {maxNum}')
  • 문제
    리스트에서 아스키코드가 가장 큰 값을 찾는 알고리즘을 만들어보자.
  • ord는 파이썬 내장함수
    ord(self.maxChar)문자를 넣어주면 아스키 코드값을 반환을 한다.
class MaxAlgorithm:
    def __init__(self,cs ):
        self.chars = cs
        self.maxChar = 0

    def getMaxChar(self):
        self.maxChar = self.chars[0]

        for c in self.chars:
            if ord(self.maxChar) < ord(c):
                self.maxChar = c
        return self.maxChar

chars = ['c', 'x', 'Q', 'A', 'e', 'P', 'p']
mc = MaxAlgorithm(chars)
maxChar = mc.getMaxChar()
print(f'maxChar: {maxChar}')

2. 최솟값

자료구조에서 가장 작은 값을 찾는다.

class MinAlgorithm:
    def __init__(self,ns):
        self.nums = ns
        self.minNum = 0

    def getMinNum(self):
        self.minNum = self.nums[0]

        for n in self.nums:
            if self.minNum > n:
                self.minNum = n

        return self.minNum

ma = MinAlgorithm([-2, -4, 5, 7, 10, 0, 8, 20, -11])
minNum = ma.getMinNum()
print(f'minNum: {minNum}')
  • 문제
    리스트에서 아스키코드가 가장 작은 값을 찾는 알고리즘을 만들어보자.
class MinAlgorithm:
    def __init__(self,cs): # 객체를 초기화 해준다.
        self.chars = cs
        self.minNum = 0

    def getMinNum(self):
        self.minNum = self.chars[0]

        for c in self.chars:
            if ord(self.minNum) > ord(c):
                self.minNum = c

        return self.minNum

ma = MinAlgorithm(['c', 'x', 'Q', 'A', 'e', 'P', 'p'])
minNum = ma.getMinNum()
print(f'minNum: {minNum}')
profile
공부 기록

0개의 댓글