본문 바로가기

개발일지/Python159

** 파이썬 최빈값 알고리즘1, 빈도수에 따라서 +표시출력 **최빈값을 구해줄때는 최대값이 존재해야 한다.* 첫번째 파일 ex # 최빈값 알고리즘 import modeMod import maxMode ages = [25,27,27,24,31,34,33,31,29,25,45,37,38,46,47,22,24,29,33,35, 27,34,37,40,42,29,27,25,26,27,31,31,32,38,25,27,28,40,41,34] print(f'employee cnt: {len(ages)}명') # maxMode모듈을 통해서 최대값을 구해주는 과정 maxAlo = maxMode.MaxAlgorithm(ages) maxAlo.setMaxIdxAndNum() maxAge = maxAlo.getMaxNum() print(f'maxAge: {maxAge}세') # 위의 .. 2022. 5. 22.
**파이썬 재귀 알고리즘으로 1년의 매출 증감액 표시 (재귀 알고리즘 기초원리) 이번 것은 재귀알고리즘의 기초를 볼 수있는 기초 알고리즘과 같으므로 나에겐 매우 중요하다. # 최소값 알고리즘2 # 재귀 알고리즘 (내가 나를 호출하는 방식) # 다음은 A상사의 2021년 월별 매출을 나타내는 표이다. # 재귀 알고리즘을 이용해서 1월 부터 12월 까지 전월대비 매출 증감액을 # 나타내는 프로그램을 만들어보자 # 재귀팁이 2개 있다. 그 두가지가 있기에 재귀적으로 작동이 되는것이다. # 매출은 천원단위이다. # 1월 - 12,000원 # 2월 - 13,000원 # 3월 - 12,500원 # 4월 - 11,000원 # 5월 - 10,500원 # 6월 - 98,000원 # 7월 - 91,000원 # 8월 - 91,500원 # 9월 - 10,500원 # 10월 - 11,500원 # 11월 -.. 2022. 5. 22.
파이썬 최대값 알고리즘 첫번째 파일 maxMod # 최댓값 # 최댓값 알고리즘을 이용해서 숫자로 이루어진 리스트에서 최댓값과 최댓값의 # 갯수를 찾는 모듈을 만들어보자 # 리스트는 1부터 50까지의 난수 30개를 이용하되, 중복이 허용되도록 한다. class MacAlgorithm: def __init__(self, ns): # 입력된 매개변수를 초기화해주고 self.nums = ns # 초기화된 매개변수인 ns에서 가장 큰값을 구하고 self.maxNum = 0 # 가장 큰 값의 수를 구해주는거라고 한다. self.maxNumCnt = 0 def setMaxNum(self): self.maxNum = 0 for n in self.nums: if self.maxNum < n: self.maxNum = n return self... 2022. 5. 21.
파이썬 재귀함수를 이용한 병합정렬 알고리즘 첫번째 파일 mergeAlgorithm # 병합정렬 # 병합정렬은 전체리스트가 8개면 8개를 4개로 쪼개고 4개를 2개로 # 2개를 1개로 쪼개서 그 1개의 조각이된 8개를 각각 비교하며 오름차순, 내림차순에 따라서 # 1개에서 다시 2개, 2개에서 다시 4개, 4개에서 8개로 재결합을 한다. # 숫자로 이루어진 리스트를 병합정렬 알고리즘을 이용해서 오름차순과 # 내림차순으로 정렬하는 모듈을 만들어보자(정렬하는 과정도 출력) def mSort(ns, asc=True): # 더 이상 쪼갤 것이 없을때 if len(ns) < 2: return ns # 반으로 쪼갠 인덱스 midIdx = len(ns) // 2 # 전체 리스트의 인덱스의 시작부터 반으로 쪼갠 인덱스까지 # 하지만 여기서 더 나아가서 다시금 내.. 2022. 5. 21.