프로그래머스 Lv. 0 | Day 3 사칙연산, 배열, 수학

doodoo·2023년 2월 6일
0

프로그래머스

목록 보기
2/10
post-thumbnail

👀 나머지 구하기

문제

나머지 구하기

풀이

function solution(num1, num2) {
    return num1 % num2;
}




👀 중앙값 구하기

문제

중앙값 구하기

풀이

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




👀 최빈값 구하기

문제

최빈값 구하기

풀이

function solution(array) {
    const obj = {};
    let frequent = 0;
    for(const num of array) {
        obj[num] = (obj[num] || 0) + 1;
        if(frequent < obj[num]) {
            frequent = obj[num];
        }
    }
    
    let same = 0;
    let max = '';
    for(const item in obj) {
        if(obj[item] === frequent) {
            same++;
            max = item;
        }
    }
    
    return same > 1 ? -1 : +max;
}




👀 짝수는 싫어요

문제

짝수는 싫어요

풀이

for(1)

function solution(n) {
    const arr = [];
    for(let i = 1; i <= n; i++) {
        if(i % 2 !== 0) {
            arr.push(i);
        }
    }
    return arr;
}

for(2) 2씩 증가

function solution(n) {
    const arr = [];
    for(let i = 1; i <= n; i += 2) {
        arr.push(i);
    }
    return arr;
}

다른 사람의 풀이

Array, fill, map, filter

function solution(n) {
    return new Array(n).fill(1).map((n, i) => n + i).filter(n => n % 2 !== 0);
}

new Array() 새 배열 생성
fill() 지정한 값으로 배열 채우기
map() 배열을 순회하면서 요소 각각에 대해 콜백 함수를 호출하고 그 반환값을 모은 새로운 배열 반환
filter() 반환 결과가 true인 요소만 모아서 새로운 배열 반환

0개의 댓글