✔ 프로그래머스 0단계 : 중앙값 구하기
코딩테스트 연습 > 코딩테스트 입문 > 중앙값 구하기
❓ 문제 설명
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다.
예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다.
정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.
❗ 제한 사항
array의 길이는 홀수입니다.
0 < array의 길이 < 100
-1,000 < array의 원소 < 1,000
🍖 입출력 예
array | result |
---|---|
[1, 2, 7, 10, 11] | 7 |
[9, -1, 0] | 0 |
🍙 입출력 예 설명
입출력 예 #1
본문과 동일합니다
입출력 예 #2
9, -1, 0을 오름차순 정렬하면 -1, 0, 9이고 가장 중앙에 위치하는 값은 0입니다.
⏳ 문제 풀이
function solution(array) {
const midnum = Math.floor(array.length/2);
const abcarray = array.sort((a,b)=>(a-b));
return abcarray[midnum]
}
1. Math.floor 함수를 이용해서 배열의 중앙값을 구해줍니다.
2. sort 메서드를 이용해서 오름차순으로 정렬하고 새로운 배열을 만들어줍니다.
3. 새로운 배열의 중앙값을 반환합니다.
👀 다른 사람의 풀이
function solution(array) {
return array.sort((a,b) => a-b)[(array.length -1) /2]
}
Math.floor 대신 1을 빼고 나누는 방법으로 중앙값을 구한 방법입니다.
'Algorithm' 카테고리의 다른 글
프로그래머스 0단계 : 나이 출력 (1) | 2022.12.15 |
---|---|
프로그래머스 0단계 : 짝수는 싫어요 (0) | 2022.12.14 |
프로그래머스 0단계 : 배열 두 배 만들기 (2) | 2022.12.13 |
프로그래머스 0단계 : 분수의 덧셈 (4) | 2022.12.11 |
프로그래머스 0단계 : 숫자 비교하기 (1) | 2022.12.11 |
댓글