본문 바로가기
코딩/알고리즘

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

by 미생22 2023. 2. 6.
728x90

1. 최댓값

 

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

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

maxNum = nums[0] 으로 맨 첫번째에 있는 숫자를 넣어준다.

그 후, 그 다음 숫자들과 maxNum을 비교한다

maxNum < nums[1], nums[2], nums[3], ..., nums[n]

 

class MaxAlgorithm:
    
    #class니까 init method가 있어야하고 자료구조 ns가 있어야함
    def __init__(self, ns):
        self.nums = ns
        self.maxNum = 0
        
    def getMaxNum(self):
        
        self.maxNum = self.nums[0]
        
        for n in self.nums:
            #만약 for문을 돌면서 이 maxNum보다 큰 숫자가 나타나면 최댓값을 재설정하겠다
            if self.maxNum < n:
                self.maxNum = n
        
        return self.maxNum

#객체 생성, 초기화
ma = MaxAlgorithm([-2, -4, 5, 7, 10, 0, 8, 20, -11])

#함수를 사용해 return값을 print할 것
maxNum = ma.getMaxNum()
print(maxNum)

2. 최솟값

 

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

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

minNum = nums[0] 으로 맨 첫번째에 있는 숫자를 넣어준다.

그 후, 그 다음 숫자들과 minNum을 비교한다

minNum > nums[1], nums[2], nums[3], ..., nums[n]

class MinAlgorithm:
    
    #class니까 init method가 있어야하고 자료구조 ns가 있어야함
    def __init__(self, ns):
        self.nums = ns
        self.minNum = 0
        
    def getminNum(self):
        
        self.minNum = self.nums[0]
        
        for n in self.nums:
            #만약 for문을 돌면서 이 minNum보다 큰 숫자가 나타나면 최솟값을 재설정하겠다
            if self.minNum > n:
                self.minNum = n
        
        return self.minNum

#객체 생성, 초기화
ma = MinAlgorithm([-2, -4, 5, 7, 10, 0, 8, 20, -11])

#함수를 사용해 return값을 print할 것
minNum = ma.getminNum()
print(minNum)

 

728x90