728x90
문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/120811
내 풀이
import numpy as np
def solution(array):
answer = np.median(array)
return answer
어렵진 않은 문제이지만, 나는 다른 사람 풀이와 달리 numpy 모듈을 사용해 풀어보았다!
numpy는 수치 연산을 위한 라이브러리인데, 통계적인 연산을 빠르게 수행할 수 있으며, 데이터 분석 혹은 통계 작업에 많이 쓰인다.
# numpy 라이브러리 가져오기
import numpy as np
# 배열생성
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
# 평균 계산
print(np.mean(arr))
# 5.5
# 분산 계산
print(np.var(arr))
# 8.25
# 표준편차 계산
print(np.std(arr))
# 2.8722813232690143
# 중앙값 계산
print(np.median(arr))
# 5.5
# 사분위수 계산
q1 = np.percentile(arr, 25) # 3.25
q2 = np.percentile(arr, 50) # 5.5
q3 = np.percentile(arr, 75) # 7.75
다른 사람 풀이
def solution(array):
return sorted(array)[len(array) // 2]
이런식으로 배열을 정렬하고, 배열의 길이의 중간 인덱스를 찾아, 그곳에 해당하는 값을 도출할 수 있다.
보통 실무에서 numpy로 바꾸는 것은 잘 사용 안하니까, 위의 방법을 잘 익혀둬야겠다.
728x90
'코딩테스트 > PYTHON' 카테고리의 다른 글
[프로그래머스][PYTHON] Lv. 0 피자 나눠 먹기 (2) (1) | 2024.02.23 |
---|---|
[프로그래머스][PYTHON] Lv. 0 최빈값 구하기 (0) | 2024.02.23 |
[프로그래머스][PYTHON] Lv. 0 분수의 덧셈 (0) | 2024.02.22 |
[프로그래머스][PYTHON] Lv. 0 정수를 나선형으로 배치하기 (0) | 2024.02.19 |
[프로그래머스][PYTHON] Lv. 0 그림 확대 (0) | 2024.02.18 |