1. 최대값
자료구조에서 가장 큰 값
class MaxAlgorithm:
def __init__(self, ns):
self.nums = ns
self.maxNum = 0
def getMaxNum(self):
self.maxNum = self.nums[0]
for n in self.nums:
if self.maxNum < n:
self.maxNum = n
return self.maxNum
import random
nums = random.sample(range(1, 1000), 20)
print(nums)
ma = MaxAlgorithm(nums)
maxNum = ma.getMaxNum()
print(maxNum)
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
import random
nums = random.sample(range(1, 1000), 20)
print(nums)
ma = MinAlgorithm(nums)
minNum = ma.getminNum()
print(minNum)
3. 최빈값
자료구조에서 가장 빈도가 높은 값
class MaxAlgorihtm:
def __init__(self, ns):
self.nums = ns
self.maxNum = 0
self.maxNumIdx = 0
def setMaxIdxAndNum(self):
self.maxNum = self.nums[0]
self.maxNumIdx = 0
for i, n in enumerate(self.nums):
if self.maxNum < n:
self.maxNum = n
self.maxNumIdx = i
def getMaxNum(self):
return self.maxNum
def getMaxNumIdx(self):
return self.maxNumIdx
import random
nums = []
for i in range(20):
nums.append(random.randint(1,10))
print(nums)
maxNums = MaxAlgorihtm(nums)
maxNums.setMaxIdxAndNum()
maxNum = maxNums.getMaxNum()
maxNumIdx = maxNums.getMaxNumIdx()
indexes = [0 for i in range(maxNum + 1)]
print('indexex = {}'.format(indexes))
for n in nums:
indexes[n] = indexes[n] + 1
print(f'indexes : {indexes}')
maxAlo = MaxAlgorihtm(indexes)
maxAlo.setMaxIdxAndNum()
maxNum = maxAlo.getMaxNum()
maxIdxNum = maxAlo.getMaxNumIdx()
print(maxNum)
print(maxIdxNum)
4. 근삿값
자료구조에서 찾는 값과 가장 근사한 값
import random
nums = random.sample(range(1, 50), 20)
print(nums)
inputNum = int(input('찾을 정수 입력 :'))
nearNum = 0
minNum = 50 #최댓값
for n in nums:
absNum = abs(n - inputNum)
if absNum < minNum:
minNum = absNum
nearNum = n
print(f'nearNum : {nearNum}')
print(f'absNum : {minNum}')
5. 평균
자료구조 내의 값의 평균값
import random
nums = random.sample(range(1, 100), 20)
print(nums)
sumN = 0
avgN = 0
for n in nums:
sumN += n
avgN = sumN / len(nums)
print(sumN)
print(avgN)
targetNum = []
for n in nums:
if n >= 50 and n <= 90:
sumN += n
targetNum.append(n)
avgN = sumN / len(targetNum)
print(sumN)
print(len(targetNum))
print(avgN)