nan + nan = 2nan

[프로그래머스/Python] 중앙값 구하기 본문

Python/프로그래머스

[프로그래머스/Python] 중앙값 구하기

2nan 2024. 6. 15. 15:44
728x90


코드 입력

 

주어진 array의 중앙 값을 도출하는 문제이다.

다른 방법도 있겠지만, 조건이 제한적이기 때문에 나는 배열의 길이로 문제를 구했다.

배열의 길이는 무조건 홀수이기 때문에, 길이가 1이 아닌 이상 길이를 2로 나눈 몫이 항상 중간에 위치하게 된다.

1일 땐 0을, 나머지는 2로 나눈 몫을 반환한다.
(사실 sorted(array)[len(array)//2] 로 해도 문제는 없다. 1을 2로 나누었을 때 몫은 0일거기 때문에..)

그리고 배열이 오름차순으로 정렬한 다음 중앙 값을 구하기 위해, sorted() 함수를 사용해서 리스트를 정렬해주는 것을 잊지 말자.

## 길이 1일 때
list_ = [1]
list_[0] = 1 # 중간값

## 길이 3일 때
list_ = [1, 2, 3]
div = 3//2 # 중간값의 인덱스 (1)
list_[1] = 2 # 중간값

## 길이 5일 때
list_ = [1, 2, 3, 4, 5]
div = 5//2 # 중간값의 인덱스 (2)
list_[2] = 3 # 중간값



### 다른 정답 예시 1)
def solution(array):
    return sorted(array)[len(array)//2]
    

### 다른 정답 예시 2)
def solution(array):

    point = len(array)//2
    answer = sorted(array)[point]
    
    return answer

 


출처 : 프로그래머스

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

 

프로그래머스

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

programmers.co.kr

 

Comments