ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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이라는 함수를 정의합니다. 함수의 목표는 배열의 중앙값을 찾아 반환하는 것입니다.

    다음은 코드 작동 방식에 대한 분석입니다.

    1. sorted(array): sorted() 함수는 배열의 요소를 오름차순으로 정렬하는 데 사용됩니다. 정렬된 요소가 포함된 새 목록을 반환합니다.
    2. [len(array) // 2]: 인덱스 [len(array) // 2]는 정렬된 배열의 중간 요소에 액세스하는 데 사용됩니다. len(array) // 2는 배열 길이가 홀수일 때 가운데 요소의 인덱스를 계산합니다. 예를 들어 배열에 5개의 요소가 있는 경우 len(array) // 2는 2가 되어 중간 요소의 인덱스를 제공합니다. 배열 길이가 짝수이면 가운데 오른쪽 요소의 인덱스를 제공합니다.
    3. 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]

     

    이제 이해한듯 

Designed by Tistory.