0429 알고리즘 2일차(~46)

박영선·2023년 5월 3일
0

최댓값 알고리즘 연습문제

자료구조에서 가장 큰값 찾기

최솟값

최댓값과 동일한 알고리즘


다른풀이법
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를 활용하기 위함)

근삿값 알고리즘 연습문제

특정 값(참값) 에 가까운 값

profile
데이터분석 공부 시작했습니다

0개의 댓글