최댓값 알고리즘 연습문제
자료구조에서 가장 큰값 찾기
최솟값
최댓값과 동일한 알고리즘
다른풀이법
getMin 대신 getMaxorMin으로
def getMaxOrMin(ns,maxFlag =True):
resultN = ns[0]
for n in ns:
if maxFlag:
if resultN <n:
resultN = n
else:
if resultN > n:
resultN = n
return resultN
또다른 풀이
class ScoreManagement:
def __init__(self,ss):
self.scores = ss
self.score_tot =0
self.score_avg =0
self.score_min =0
self.score_max =0
def getMinScore(self):
if self.scores == None or len(self.scores)==0:
return None
self.score_min = self.scores[0]
for score in self.scores:
if self.score_min > score:
self.score_min = score
return self.score_min
def getMaxScore(self):
if self.scores == None or len(self.scores) == 0:
return None
self.score_max = self.scores[0]
for score in self.scores:
if self.score_max < score:
self.score_max = score
return self.score_max
def getTotScore(self):
if self.scores == None or len(self.scores) == 0:
return None
self.score_tot = 0
for score in self.scores:
self.score_tot += score
return self.score_tot
def getAvgScore(self):
if self.scores == None or len(self.scores) == 0:
return None
self.score_avg = round(self.getTotScore()/len(self.scores),2)
return self.score_avg
def getMaxDeviation(self):
result = abs(self.getAvgScore() - self.getMaxScore())
return round(result,2)
def getMinDeviation(self):
result = abs(self.getAvgScore() - self.getMinScore())
return round(result, 2)
실행
import leastMod2 as lm
scores = [100,64,94,66,75,58,99,76,96,74,
54,73,88,70,68,50,95,89,69,98]
sm = lm.ScoreManagement(scores)
print(sm.getAvgScore())
print(sm.getMinScore())
print(sm.getMaxScore())
print(sm.getMinDeviation())
print(sm.getMaxDeviation())
최빈값 알고리즘 연습문제
데이터에서 빈도수가 가장 많은값
최댓값을 먼저 알아야함(indexes를 활용하기 위함)
근삿값 알고리즘 연습문제
특정 값(참값) 에 가까운 값