[Javascript] 사칙연산, 배열, 수학

준이·2023년 6월 9일
0

중앙값 구하기

핵심 : Array.sort(sortFunction)

sortFunction 없을 경우, 오름차순/ASCII 문자 순으로 정렬

  • 문자 : 오름차순 정렬
  • 숫자 : sortFunction을 줘야함.
    없으면 ASCII 문자순으로 정렬 안 해줌.
const array = [4, 11, 2, 10, 3, 1] 

// 오름차순
array.sort((a,b) => a-b) // 1, 2, 3, 4, 10, 11

// 내림차순
array.srot((a,b) => b-a) // 11, 10, 4, 3, 2, 1

최빈값 구하기

참고

핵심

  1. for...of
let platform = new Map([
  ['naver', "green"],
  ['kakao', "yellow"],
]);

for (let [k, v] of platform) {
  return [k, v] // ['naver', "green"], ['kakao', "yellow"]
}
  1. Map 객체
  • map.set(key, value) : 객체와 비슷하게 키와 값을 한 번에 선언할 수 있다. 체이닝도 가능.
  • map.get(key) : 객체와 비슷하게 인자에 키를 넣어 값이나 undefined를 반환한다.
  • map.has(key) : 데이터 존재 유무를 Boolean 값으로 반환한다.
function solution(array) {
    let counting = new Map();
    let countArray = new Array;
    let max = 0;
    
    for(let i of array) {
        if(!counting.has(i)) counting.set(i, 0);
        if(counting.has(i)) counting.set(i, counting.get(i)+1)
        while(counting.get(i) > max) max++
    }
    
    for(let [key, value] of counting) {
        if(value === max)  countArray.push(key)
    }
    
    return countArray.length === 1 ? countArray[0] : -1;
}
profile
25% Speciallist

0개의 댓글