프로그래머스

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

미스터 한뺑 2023. 4. 4. 14:47
반응형

1. 문제

 

1 - 1. 문제 설명

중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들면 1,2,7,10,11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질때 중앙값을 return하도록 solution함수를 완성해보세요

 

1 - 2. 제한사항

  • array의 길이는 홀수입니다.
  • 0 < array의 길이 < 100
  • -1,000 < array의 원소 < 1,000

1 - 3. 입출력 예 설명

  • 입출력 예1
    • 본문과 동일합니다
  • 입출력 예2
    • 9,-1,0울 오름차순 정렬하면 -1,0,9이고 가장 중앙에 위치하는 값은 0입니다.

2. 문제해결방법

이 문제는 간단하게 정렬된 숫자의 중앙값을 찾는 문제이다. 여기서 어떻게 중앙값을 찾을까 고민을 해봤다.

만약에 array의 길이가 3 이면 중앙값의 인덱스값은 1이고 array의 길이가 5 일때 중앙값의 인덱스는 2이다.

이 문제를 코드로 어떻게 구하는지가 문제를 풀수 있는 방법이다. 

 

def solution(array):
    array.sort()
    return array[len(array)//2]

1. 먼저 array를 오름차순으로 정렬을 시킨다 

2. array가 중앙값이 오려면 array의 길이가 3일때 array[1]가 나와야하고 길이가 5일때 array[3]이 되어야한다.

그래서 array의 길이가 홀수라 주어질때 2로 나누면 이렇게 된다.

array = 3 , 5  ,7 일때 몫의 값은 1, 2 ,3 ... 이런식으로 올라간다. 

 

 

3. 다른 사람 풀이

 

다른 사람들도 같은 코드로 풀었기 때문에 패스하겠다.

4. 느낀점 

이제 기본적인 문제들은 쉽게 풀 수 있는 단계까지 온것같다. 슬슬 랩 0과 랩 1을 풀어서 점점 실력을 늘려야겠다는 생각이 든다 !! 랩 5를 풀때까지 화이팅 하자 !

반응형