분류 전체보기
[통계] 확률
🔍 확률 - 모든 경우의 수에 대한 특정 사건이 발생하는 비율 1. 표본 공간(Sample Space) - 표본 공간이란 어떤 실험에서 나올 수 있는 모든 가능한 결과들의 집합 - 동전 던지기의 경우 S = {앞면, 뒷면} , 주사위던지기 S = {1,2,3,4,5,6} - P(A) = A/S P(A) : 사건 A가 일어날 확률 / (S) : 표본 공간 2. 통계적 확률 정의 1) 상대도수 - 어떤 시행을 N번 반복했을 때, 사건 A에 해당하는 결과가 r번 일어난 경우 r/N 2) 통계적 확률(경험적 확률) - N이 무한히 커지면 상대도수는 일정한수로 수렴 $\lim\frac{r}{N} $ 3. 확률의 성질 1) 합사건(union) : 사건 A 또는 사건 B가 일어날 확률 2) 곱사건(intersecti..
[통계] 데이터의 이해
🔍 통계학이란? 산술적 방법을 기초로 하여, 주로 다량의 데이터를 관찰하고 정리 및 분석하는 방법을 연구하는 수학의 한 분야 1) 기술 통계학(descriptive statistics) - 데이터를 수집하고 수집된 데이터를 쉽게 이해하고 설명할 수 있도록 정리 요약 설명 2) 추론 통계학(inferential statistics) - 모집단으로 부터 추출한 표본 데이터를 분석하여 모집단의 여러가지 특성을 추측하는 방법론 📈 데이터와 그래프 1. 변수(Variable) - 조사 목적에 따라 관측된 자료의 값 - 해당 변수에 대하여 관측된 값들이 바로 자료(Data)가 됨 1) 질적 변수 - 관측된 데이터가 성별, 주소지(시군구), 업종 등과 같이 몇 개의 범주로 구분하여 표현할 수 있는 데이터를 의미 - ..
[정렬] 1부터 100사이 난수 정렬(퀵 정렬)
🔍 문제 1부터 100사이의 난수 10개를 오름차순, 내림차순으로 정렬(퀵 정렬 사용) 🖥 실행 1) 모듈 def qSort(arr, asc=True): if len(arr) < 2: return arr midIdx = len(arr)//2 midVal = arr[midIdx] smallArr = []; sameArr = []; bigArr = [] for n in arr: if n < midVal: smallArr.append(n) elif n == midVal: sameArr.append(n) else: bigArr.append(n) if asc: return qSort(smallArr, asc=asc) + sameArr + qSort(bigArr, asc=asc) else: return qSort(..
[정렬] 1부터 100사이 난수 정렬(병합 정렬)
🔍 문제 1~100사이 난수 10개를 병합정렬을 사용하여 정렬하기 🖥 실행 1) 모듈 def mSort(arr, asc=True): if len(arr) < 2: return arr midIdx = len(arr) // 2 leftArr = mSort(arr[:midIdx], asc=asc) rightArr = mSort(arr[midIdx:], asc=asc) mergeArr = [] leftIdx = 0; rightIdx = 0 while leftIdx < len(leftArr) and rightIdx < len(rightArr): if asc == True: if leftArr[leftIdx] < rightArr[rightIdx]: mergeArr.append(leftArr[leftIdx]) lef..
[파이썬 기초] 알고리즘 - 재귀, 하노이의 탑
🔍 재귀 알고리즘이란? - 나 자신을 다시 호출하는 알고리즘 1) 재귀 알고리즘 def recusion(num): if num > 0: print("*" * num) return recusion(num-1) else: return 0 recusion(10) ----------------------------- ********** ********* ******** ******* ****** ***** **** *** ** * 2) 팩토리얼 def factorial(num): if num > 0: return num * factorial(num-1) else: return 1 print(f'factorial(4) : {factorial(4)}') ----------------------------------..
[근사값] 학점 출력기
🔍 문제 - 국어, 영어, 수학, 과학, 국사 점수를 저장하고 평균에 따른 학점 출력 - 95 : A / 85 : B / 75 : C / 65 : D / 55 : F 🗝 사용함수 round(n,x) : 소수 n을 x자리 수까지 출력 🖥 실행 kor = int(input('Korean Score : ')) eng = int(input('English Score : ')) mat = int(input('Math Score : ')) sci = int(input('Science Score : ')) his = int(input('History Score : ')) total = kor + eng + mat + sci + his avg = round(total/5,1) nearNum = [55,65,75,85,..
[파이썬 기초] 알고리즘 - 최빈값, 근사값, 평균
🗝 최빈값 - 빈도 수가 가장 많은 데이터 - 최대값 알고리즘을 이용하여 배열을 새로 만들고, 값이 나올 때마다 각 인덱스에 +1 class MaxAl: def __init__(self,arr): self.arr = arr self.max = 0 self.maxNumIdx = 0 def setMax(self): self.max = self.arr[0] self.maxIdx = 0 for i, n in enumerate(self.arr): if self.max < n: self.max = n self.maxIdx = i def getMax(self): return self.max def getMaxIdx(self): return self.maxIdx import random as rd nums = [rd...
[최빈값] 성적 분포도 그리기
🔍 문제 - 70~100점 사이의 20명을 순서대로 출력하는 프로그램 생성 - 점수는 5점 단위 난수로 출력 - '+'로 분포를 시각화 🗝 사용함수 index, num in enumerate(array) : array 안의 인덱스와 데이터를 출력 🖥 실행 1) 모듈 class maxScore: def __init__(self, arr): self.arr = arr self.max = 0 self.maxIdx = 0 def setMax(self): self.max = self.arr[0] self.maxIdx = 0 for i, n in enumerate(self.arr): if self.max < n: self.max = n self.maxIdx = i def getMax(self): return sel..