-
2023.7.6.목요일TIL( Today I Learned) 2023. 7. 6. 12:30
1, 중앙값 구하기
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.
나는 못 풀었다
1-1. 다른 사람들의 풀이 이해
def solution(array):
return sorted(array)[len(array) // 2]₩₩₩₩₩₩₩₩₩₩₩₩₩₩₩₩₩₩₩₩₩
위 코드를 이해하기 위해서는
내장함수 sorted() 이해해야 한다. - 이 함수는 iterable한 객체를 받아서 정렬된 새로운 리스트를 반환하는 것.
# iterable 한 객체란 - 반복 가능한 객체를 의미. 예) 리스트, 튜플, 문자열 등등
## sorted(array): sorted() 함수의 사용예:코드
numbers = [7, 2, 5, 1, 9, 3]
sorted_numbers = sorted(numbers)
print("Original numbers:", numbers)
print("Sorted numbers:", sorted_numbers)
결과
Original numbers: [7, 2, 5, 1, 9, 3]
Sorted numbers: [1, 2, 3, 5, 7, 9]
## 코드
def solution(array):
return sorted(array)[len(array) // 2]제공된 코드는 배열을 인수로 취하는 solution이라는 함수를 정의합니다. 함수의 목표는 배열의 중앙값을 찾아 반환하는 것입니다.
다음은 코드 작동 방식에 대한 분석입니다.
- sorted(array): sorted() 함수는 배열의 요소를 오름차순으로 정렬하는 데 사용됩니다. 정렬된 요소가 포함된 새 목록을 반환합니다.
- [len(array) // 2]: 인덱스 [len(array) // 2]는 정렬된 배열의 중간 요소에 액세스하는 데 사용됩니다. len(array) // 2는 배열 길이가 홀수일 때 가운데 요소의 인덱스를 계산합니다. 예를 들어 배열에 5개의 요소가 있는 경우 len(array) // 2는 2가 되어 중간 요소의 인덱스를 제공합니다. 배열 길이가 짝수이면 가운데 오른쪽 요소의 인덱스를 제공합니다.
- return sorted(array)[len(array) // 2]: 정렬된 배열의 중간 요소인 중앙값이 함수에 의해 반환됩니다.
요약하면 코드는 sorted()를 사용하여 주어진 배열을 오름차순으로 정렬한 다음 가운데 요소를 중앙값으로 반환합니다. 이 코드는 입력 배열에 적어도 하나의 요소가 있다고 가정합니다.
예를 들어 입력 배열이 [2, 4, 6, 8, 10]인 경우 코드는 이를 [2, 4, 6, 8, 10]으로 정렬하고 중간 요소인 6.
그럼코드num =[1,3,4,6,7,9,110,234,5,34]print(len(num),"개", "숫자",sorted(num)[len(num)//2], "숫자",sorted(num)[len(num)//3], "숫자",sorted(num)[len(num)//5] ,sorted(num))결과
10 개 숫자 7 숫자 5 숫자 4 [1, 3, 4, 5, 6, 7, 9, 34, 110, 234]
이제 이해한듯
'TIL( Today I Learned)' 카테고리의 다른 글
2023.7.8. / 최빈값 구하기와 Python의 내장 클래스, Counter (0) 2023.07.07 2023.7.7. 금요일 - map() 함수 & lambda() 함수 (0) 2023.07.07 2023.7.5.수요일 (0) 2023.07.06 2023.7.4-2. 화욜에서 수욜로 가는 밤의 끝자락을 잡고서 (1) 2023.07.05 2023.7.4.화요일 (0) 2023.07.04