728x90
반응형
문제 설명
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 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) {
let answer = 0;
array.sort( (a,b) => {return a-b} )
if(array.length %2 !== 0){
answer = array[(array.length-1)/2]
}
return answer;
}
//logic
//1. 배열을 오름차순으로 바꿔준다.
//2. 배열의 길이가 %2 !== 0 이면 출력하는 조건문을 만든다.
//3. 조건문에 부합할 시 배열의 몇번째 숫자를 출력할지 넣어준다.
//4. 출력
//배열의 길이가 3 5 7 9 11 +2 순으로 늘어나야 한다.
//배열의 길이가 3일때는 1번째 배열
//배열의 길이가 5일때는 2번째 배열
//배열의 길이가 7일때는 3번째 배열
//배열의 길이가 9일때는 4번째 배열
//배열의 길이가 11일때는 5번째 배열
//즉, (배열의 길이 -1 ) / 2 번째 배열을 출력해주면 된다.
728x90
반응형
'📂 𝐚𝐥𝐠𝐨𝐫𝐢𝐭𝐡𝐦 > programmers' 카테고리의 다른 글
[알고리즘] 코딩테스트 연습 > 코딩테스트 입문 > 짝수는 싫어요 (120813) (0) | 2023.01.21 |
---|---|
[알고리즘] 코딩테스트 연습 > 코딩테스트 입문 > 최빈값 구하기 (120812) (0) | 2023.01.21 |
[알고리즘] 코딩테스트 연습 > 코딩테스트 입문 > 나머지 구하기 (120810) (0) | 2023.01.21 |
[알고리즘] 코딩테스트 연습 > 코딩테스트 입문 > 배열 두 배 만들기 (120809) (0) | 2023.01.21 |
[알고리즘] 코딩테스트 연습 > 코딩테스트 입문 > 분수의 덧셈 (120808) (0) | 2023.01.21 |