코딩테스트/PYTHON

[프로그래머스][PYTHON] Lv. 0 중앙값 구하기

_알파카 2024. 2. 22. 15:14
728x90

문제 설명

https://school.programmers.co.kr/learn/courses/30/lessons/120811

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

내 풀이

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