250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Join
- 슬라이싱
- Len
- date_format
- 프로젝트
- GIT
- map
- count
- 파이썬
- SQL 고득점 Kit
- html
- where
- Django
- 설계
- python
- 단어 공부
- 파이썬 슬라이싱
- YOLOv5
- sql
- 프로그래머스
- css
- ORDER BY
- 아이엠어바텐더
- 파이썬 몫
- List Comprehension
- 백준
- 데이터
- pcce 기출문제
- Python3
- 코딩테스트 연습
Archives
- Today
- Total
nan + nan = 2nan
[프로그래머스/Python] 중앙값 구하기 본문
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
'Python > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Python] 피자 나눠 먹기 (1) (0) | 2024.06.17 |
---|---|
[프로그래머스/Python] 짝수는 싫어요 (0) | 2024.06.16 |
[프로그래머스/Python] 배열 두 배 만들기 (0) | 2024.06.14 |
[프로그래머스/Python] 두 수의 나눗셈 (0) | 2024.06.14 |
[프로그래머스/Python] 머쓱이보다 키 큰 사람 (0) | 2024.06.13 |
Comments