
자료구조에서 가장 큰 값을 찾는다.
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
ma = MaxAlgorithm([-2, -4, 5, 7, 10, 0, 8, 20, -11])
maxNum = ma.getMaxNum()
print(f'maxNum: {maxNum}') # maxNum: 20
자료구조에서 가장 작은 값을 찾는다.
class MinAlgorithm:
def __init__(self, ns):
self.nums = ns
self.minNum = 0
def getMaxNum(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])
maxNum = ma.getMinNum()
print(f'maxNum: {minNum}') # minNum: -11
데이터에서 빈도수가 가장 높은 값을 찾는다.
nums = [1, 3, 7, 6, 7, 7, 7, 12, 12, 17]
print(nums)
dic_idxs = {}
for n in nums:
if n not in dic_idxs: # 만약 dict 내에 해당 키가 없다면,
dic_idxs[n] = 0 # key == n인 요소를 생성하고 0으로 초기화
dic_idxs[n] += 1
print(dic_idxs)
# 빈도수에 해당하는 value 중 최대값을 찾는다.
max_frqc = 0; mode = 0
for key, val in dic_idxs.items():
if max_frqc < val:
max_frqc = val
mode = key
print(f'즉, {mode}의 빈도수가 {max_frqc}로 가장 높다.')
# 실행결과
# [1, 3, 7, 6, 7, 7, 7, 12, 12, 17]
# {1: 1, 3: 1, 7: 4, 6: 1, 12: 2, 17: 1}
# 즉, 7의 빈도수가 4로 가장 높다.
데이터 중 특정 값(참값)에 가장 가까운 값을 찾는다.
import random
nums = random.sample(range(0, 50), 20)
print(f'nums: {nums}')
inputNum = int(input('input number: '))
print(f'inputNum: {inputNum}')
nearNum = 0
minNum = nums[0]
for n in nums:
absNum = abs(n - inputNum)
print(f'absNum: {absNum}')
if absNum < minNum:
minNum = absNum
nearNum = n
print(f'nearNum: {nearNum}')
# 실행결과
# nums: [42, 39, 19, 38, 29, 49, 31, 43, 5, 8]
# inputNum: 7
# absNum: 35
# absNum: 32
# absNum: 12
# absNum: 31
# absNum: 22
# absNum: 42
# absNum: 24
# absNum: 36
# absNum: 2
# absNum: 1
# nearNum: 8