[코딩 테스트 연습 입문] 중앙값 구하기

2022. 12. 22. 15:31code/[프로그래머스] python

문제

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

 

❗제한사항

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

 

입출력 예

 

입출력 예 설명

입출력 예 #1

  • 본문과 동일합니다.

입출력 예 #2

  • 9, -1, 0을 오름차순 정렬하면 -1, 0, 9이고 가장 중앙에 위치하는 값은 0입니다.

 

✔풀이

def solution(array):
    answer = 0
    n=0
    array.sort()
    if len(array)%2==1:
        n=len(array)//2 
    else:
        n=len(array)//2+1
    answer=array[n]
    return answer

📝설명

n을 새로 만들었다.

sort를 통해 array를 재정렬한 다음, 가운데에 있는 값을 꺼내면 된다.

문제를 제대로 읽지 않아서.... array의 길이가 홀수라는 걸 놓쳤고, 그래서 나온 결과가 else문이다.

실은 if문의 조건으로만 충분했던 것 같다.

개선한다면?

 

👑모범 답안

🔎개선된 내 풀이에서 더 개선된... 코드이다.