[제로베이스] 데이터 사이언스 12기 - (02-18 스터디노트)

윤태호·2023년 2월 18일
0
post-thumbnail

오늘 수강한 강의 - 알고리즘(13 ~ 16)

13 최댓값 ~ 16 최솟값

최댓값

  • 자료구조에서 가장 큰 값을 찾는다
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('maxNum: {}'.format(maxNum))
  • (실습) 리스트에서 아스키코드가 가장 큰 값을 찾는 알고리즘
class MaxAlgorithm:
    def __init__(self, cs):
        self.chars = cs
        self.maxchar = 0
    def getMaxChar(self):
        self.maxChar = self.chars[0]

# ord() -> 문자열을 아스키코드로 변환시켜줌

        for c in self.chars:
            if ord(self.maxChar) < ord(c):
                self.maxChar = c
        return self.maxChar
chars = ['c', 'x', 'Q', 'A', 'e', 'P', 'p']
mc = MaxAlgorithm(chars)
maxChar = mc.getMaxChar()
print('maxChar: {}'.format(maxChar))

최솟값

  • 자료구조에서 가장 작은 값을 찾는다
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
ma = MinAlgorithm([-2, -4, 5, 7, 10, 0, 8, 20, -11])
minNum = ma.getMinNum()
print('minNum: {}'.format(minNum))
  • (실습) 리스트에서 아스키코드가 가장 작은 값을 찾는 알고리즘
class MinAlgorithm:
    def __init__(self, cs):
        self.chars = cs
        self.minChar = 0
    def getMinChar(self):
        self.minChar = self.chars[0]
        for c in self.chars:
            if ord(self.minChar) > ord(c):
                self.minChar = c
        return self.minChar
ma = MinAlgorithm(['c', 'x', 'Q', 'A', 'e', 'P', 'p'])
minChar = ma.getMinChar()
print('minChar: {}'.format(minChar))

재미있었던 부분

최댓값과 최솟값은 부등호 하나 차이로 값이 바뀌는데 비교해가며 코드를 만들어보는것이 재미있었다
실습 문제 문자열을 아스키코드로 변환시켜주는 ord()를 배운것이 가장 기억에 남기도한다

어려웠던 부분

오늘 수강한 강의에서는 많이 헷갈리거나 어려운 것이 없었다

느낀점 및 내일 학습 계획

강의의 초반에 강사님이 말씀하신대로 다른 알고리즘보단 이해가 훨씬 쉬울거라던 말씀이 사실이었다
최댓값 최솟값은 구조가 거의 비슷하여 이해가 쉬웠다 항상 이렇기만 하면 좋겠다 ㅋㅋㅋ
내일도 마찬가지로 알고리즘 학습을 조금 더 하고 나머지 시간은 복습을 할 예정이다

profile
부트캠프 참여중

0개의 댓글