안녕하세요!
오늘도 어김없이 코딩테스트 리뷰로 돌아왔습니다~~~
현재 리액트 프로젝트가 진행중이긴한데 아직도 감을 못 잡고 있는 상황이여서 오늘도 코딩테스트 리뷰로 대체하려고 합니다....ㅎ
어제부터 몸이 계속 안좋았는데 그래도 지금은 조금은 나아졌습니다!
그러면 본격적으로 시작해보겠습니다!
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.
.sort()
, Math.floor
메서드를 활용하여 오름차순으로 정렬하고 원하는 배열의 중앙값을 구할 수 있었습니다
function solution(array) {
const set = array.sort((a,b)=>(a-b))
const num = set.length / 2
const arrayResult = Math.floor(num)
const answer = set[arrayResult]
return answer;
}
일단은 현재
입출력 예시가 이런식으로 제시 되어 있고, 문제에서 주어진 값들을 크기의 순서대로 정렬했을 때 라고 했으니 먼저 .sort()
메서드를 활용해서 배열의 순서를 정렬해줍니다
.sort()
의 기본구조는 .sort((a,b)=>(a-b))
입니다 현재는 오름차순으로 정리하였고
반대로 .sort((a,b)=>(b-a))
로 진행할 경우 내림차순으로 정리 됩니다
그렇게 진행하여 배열을 오름차순으로 정렬하고 주어진 배열의 갯수가 홀수임으로 중앙값을 구하기 위해 set.length/2
를 작성합니다 이때 set은 오름차순으로 정렬된 배열을 변수에 담은 값입니다
set.length/2
를 진행하면 당연히 소수점이 나올 수 밖에 없습니다 그렇기에 우리는 소수점음 과감히 버려줍니다!
그래서 Math.floor(num)
코드를 작성하여 버려준 소수점을 arrayResult에 담아줍니다
그 다음 오름차순으로 정리된 배열에서 arrayResult번째 원소를 선택하여 return 해줍니다!
그렇게 되면
이렇게 정답을 받아보실 수 있습니다!!
네 이번에는
.sort()
와Math.floor()
에 대해 알아보았습니다 : )
공부를 할때에는 .sort()
에 대해 이해가 되지 않았는데 또 이렇게 필요해서 알아보고 접목 시키고 하니깐 이해가 되더라구요? 정말 신기했습니다!
역시 사람은 실전으로 부딪혀 봐야 성장을 하는 것 같습니다!
요 며칠 동안 몸이 아파서 열심히 공부도 못하고 포스팅도 못했는데 제발 내일은 몸이 좋아졌으면 좋겠습니다...ㅎ
네! 그러면 여기서 짧게 인사를 드리구요!
또 몸 항상 건강하시고
우리는 또 행복하자구요!