[프로그래머스]

[Javascript | 중앙값 구하기 ] - Array.sort() 및 indexing

개발잘하고싶음 2023. 3. 3. 20:09

#중앙값 구하기

 

문제

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

 

접근

(1)배열 데이터를 오름차순으로 정렬한 후 (2) 중간 값을 indexing함.


#관련 학습

 

1)Array.sort()

두 개의 element를 가진 compareFunction을 파라미터로 한다. 해당 함수의 return 값에 따라 Array 정렬이 바뀐다.

 

 

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

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

hianna.tistory.com

2)indexing

배열 데이터 indexing할 때 .(마침표) 같은 거 안 쓰고 바로 [] 씀. 

Array[1] 이렇게


#풀이

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

다른 풀이는 다음과 같다. Math.floor()와 Math.trunc를 사용했다.

 

The Math.trunc() static method returns the integer part of a number by removing any fractional digits

 

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

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

#기타 참고링크

 

1)배열생성/인덱싱/추가,삭제

 

- 인덱스를 배열을 참조할 때 자연적으로 없는 인덱스를 참조했다면 해당 인덱스에 맞는 배열 값이 추가된다.

-배열의 모든 요소에 차례로 접근하고 싶을 때 for문과 같은 반복문을 사용해 접근한다.

 

 

[JavaScirpt] 자바스크립트, 배열 생성 / 인덱싱 / 추가와 삭제

배열 생성 / 인덱싱 / 추가와 삭제 자바스크립트에서 배열(array)은 이름과 인덱스로 참조되는 정렬된 값의...

blog.naver.com