728x90
728x170
1차원/2차원 배열의 중앙값 계산하기
들어가며
- 이용하여 1차원 또는 2차원 배열의 중앙값을 계산해보자.
- 2차원 배열의 경우, 1차원 배열로 만든 후, 정렬하는 방법을 사용한다.
중앙값(Median)
- 데이터를 일렬로 정렬해서 나열한 후, 나열된 숫자의 가운데에 위치하는 값을 대푯값으로 하는 방법
- 중앙값을 구하려면 우선 데이터를 오름차순 또는 내림차순으로 정렬해야 한다.
- 데이터의 개수가 짝수 개인 경우, 중앙값을 (개수/2) 또는 (개수/2 - 1) 어느 것을 해도 된다.
프로그램 구현 ① : 1차원 배열의 중앙값 계산하기
- 선택 정렬(Selection Sort)을 이용하여 중앙값을 계산해본다.
def selectionSort(ary) :
n = len(ary)
for i in range(0, n-1) :
minIdx = i
for k in range(i+1, n) :
if (ary[minIdx] > ary[k]) :
minIdx = k
tmp = ary[i]
ary[i] = ary[minIdx]
ary[minIdx] = tmp
return ary
moneyAry = [7, 5, 11, 6, 9, 80000, 10, 6, 15, 12]
print('정렬 전 -->', moneyAry)
moneyAry = selectionSort(moneyAry)
print('정렬 후 -->', moneyAry)
print('중앙값 --> ', moneyAry[len(moneyAry)//2])
더보기
정렬 전 --> [7, 5, 11, 6, 9, 80000, 10, 6, 15, 12]
정렬 후 --> [5, 6, 6, 7, 9, 10, 11, 12, 15, 80000]
중앙값 --> 10
프로그램 구현 ② : 2차원 배열의 중앙값 계산하기
- 선택 정렬(Selection Sort)을 이용하여 중앙값을 계산해본다.
- 2차원 배열을 1차원 배열로 만든 후, 정렬하는 방법을 사용한다.
def selectionSort(ary) :
n = len(ary)
for i in range(0, n-1) :
minIdx = i
for k in range(i+1, n) :
if (ary[minIdx] > ary[k]) :
minIdx = k
tmp = ary[i]
ary[i] = ary[minIdx]
ary[minIdx] = tmp
return ary
ary2 = [[55, 33, 250, 44],
[88, 1, 67, 23],
[199,222, 38, 47],
[155,145, 20, 99]]
ary1 = []
for i in range(len(ary2)) :
for k in range(len(ary2[i])) :
ary1.append(ary2[i][k])
print('1차원 변경 후, 정렬 전 -->', ary1)
ary1 = selectionSort(ary1)
print('1차원 변경 후, 정렬 후 -->', ary1)
print('중앙값 --> ', ary1[len(ary1)//2])
더보기
1차원 변경 후, 정렬 전 --> [55, 33, 250, 44, 88, 1, 67, 23, 199, 222, 38, 47, 155, 145, 20, 99]
1차원 변경 후, 정렬 후 --> [1, 20, 23, 33, 38, 44, 47, 55, 67, 88, 99, 145, 155, 199, 222, 250]
중앙값 --> 67
728x90
그리드형(광고전용)
'Source Code > Python' 카테고리의 다른 글
[Python] 10진수를 2진수/8진수/16진수로 변환하기 (0) | 2022.06.16 |
---|---|
[Python] 회문/팰린드롬(Palindrome) 판단하기 (0) | 2022.06.16 |
[Python] 괄호 매칭 검사 프로그램 (0) | 2022.05.30 |
[Python] 단순 연결 리스트(Singly Linked List) 프로그램 (0) | 2022.04.02 |
[Python] 다항식(Polynomial) 선형 리스트 표현과 계산 프로그램 (0) | 2022.03.26 |
[Python] 선형 리스트(Linear List) 처리 프로그램 (0) | 2022.03.26 |
[Python] 파일 입출력 예제 (0) | 2021.08.07 |
[Python] matplotlib 라이브러리를 이용하여 그래프 그리기 (0) | 2020.03.24 |