본문 바로가기
프론트엔드로 가는 길/프로그래머스

13.중앙값구하기(sort())

by woody-j 2022. 11. 24.

※문제설명

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

 

My Solution

function solution(array) {
//     1. 오름차순으로 정렬
// 1-1. sort 함수 정렬 후 오름차순으로 정렬
const sortedArray=array.sort(function(a,b){
      return a - b;
}); 
//     2. 중앙값 순서 구하기
const centerNumber=Math.floor((sortedArray.length)/2); 
 
return array[centerNumber]
   
}

 

Sort() : 배열을 정렬하기 위해서는 sort() 함수를 사용

더보기
sort()함수 사용

 

 

부족한 점 이번 문제는 조금 오래걸렸다. 내가 정답이라고 생각했는데 도무지 문제를 찾을 수 없었다. 그래서 주변 사람의 도움을 통해 문제를 해결했는데 내가 찾지 못한 문제는 sort() 함수에 대한 정보였다. 당연히 올바르게 정렬해줄 거라고 생각했던 함수가 국어식 배열이라는 것 알게 되었다. 내 머릿속과 컴퓨터의 두뇌는 정말 다르다는 것을 깨닫게 됐다.
개선 방안 내가 알지 못한 부분들은 정말 많이 접해봐야 알 수 있을 것 같다. 그리고 문제가 뭔지 찾지 못했던 것은 내가 모든 것이 당연하다고 생각을 해서 오랫동안 그 문제를 찾지 못했던 것 같다. 예외적인 상황이 무엇이 있는지 생소하게 쓰는 함수들은 어떤 특징을 가지고 있는 지 조금 더 자세한 자료조사를 통해서 예외적인 상황을 찾을 수 있는 자세를 가져야겠다. 

 


 

Different Approach

function solution(array) {
  return array.sort((a, b) => a - b)[Math.floor(array.length / 2)];
}
 

 

참고 블로그 : https://sakuraop.tistory.com/293 

 

프로그래머스 JS [문자열 마음대로 정렬하기]★ 정렬 sort()+localeCompare()

문자열 내 마음대로 정렬하기 문제 설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun",

sakuraop.tistory.com

https://hianna.tistory.com/409

 

[Javascript] 배열 정렬하기 (오름차순, 내림차순, 문자열, 객체)

배열 정렬하기 (오름차순, 내림차순, 문자열, 객체) 1. sort() 함수 2. sort() 함수로 숫자 오름차순 정렬하기 3. sort() 함수로 숫자 내림차순 정렬하기 4. sort() 함수로 문자열 정렬하기 5. sort() 함수로

hianna.tistory.com