본문 바로가기
개발일지/Python

파이썬 최대값 알고리즘

by 개발에정착하고싶다 2022. 5. 21.
320x100

첫번째 파일

maxMod

 

# 최댓값

# 최댓값 알고리즘을 이용해서 숫자로 이루어진 리스트에서 최댓값과 최댓값의
# 갯수를 찾는 모듈을 만들어보자
# 리스트는 1부터 50까지의 난수 30개를 이용하되, 중복이 허용되도록 한다.

class MacAlgorithm:

    def __init__(self, ns):
        # 입력된 매개변수를 초기화해주고
        self.nums = ns
        # 초기화된 매개변수인 ns에서 가장 큰값을 구하고
        self.maxNum = 0
        # 가장 큰 값의 수를 구해주는거라고 한다.
        self.maxNumCnt = 0

    def setMaxNum(self):
        self.maxNum = 0

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

        return self.maxNum

    #1 이해안됨 포인트
    def getMaxNum(self):
        self.setMaxNum()
        return self.maxNum

    def setMaxNumCnt(self):
        self.setMaxNum()

        for n in self.nums:
            if self.maxNum == n:
                self.maxNumCnt += 1

    def getMaxNumCnt(self):
        self.setMaxNumCnt()
        return self.maxNumCnt

 

 

두번째 파일

ex

 

import random as rd
import maxMod

if __name__ == '__main__':

    nums =[]
    for n in range(30):
        nums.append(rd.randint(1,50))

    print(f'nums: \n {nums}')
    ma = maxMod.MacAlgorithm(nums)
    print(f'max_num: {ma.getMaxNum()}')
    print(f'max_num count: {ma.getMaxNumCnt()}')
300x250