코딩테스트 연습(Lv0 / 010 ~ 013) - Day03 사칙연산, 배열, 수학

Kang.__.Mingu·2023년 1월 1일
0

코딩테스트(Lv0)

목록 보기
4/26

나머지 구하기

나머지 구하기

문제

정수 num1, num2가 매개변수로 주어질 때, num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요.


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

// num1과 num2는 정수이다.
// 나머지 연산: %
// num1과 num2의 나머지를 return하면 된다.

중앙값 구하기

중앙값 구하기

문제

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


function solution(array) {
    let arr = array.sort((a, b) => a - b);
    let index = parseInt(arr.length/2);
    return arr[index];
}
// 배열의 크기를 순서대로 정렬해야한다.
// 배열의 길이는 홀수이다. 
// 배열의 길이를 2로 나눠야하고 parseInt를 이용해서 실수값을 없애줘야함.
// ex) 5/2 = 2.5 parseInt 해주면 2가됨
// 즉 2는 arr[2] 중앙값이 됨

최빈값 구하기

최빈값 구하기

문제

최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다.


function solution(array) {
    let arr = array.sort((a,b) => a - b);
    
    let choi = -1; // 최빈값 -1은 한 번도 등장할 수 없는 값 => 기본세팅값
    let choiCnt = 0; // 현재 똑같은 숫자가 몇 번 등장 했는지
    
    let choiRepeatCnt = 0; // 최빈값이 될 때 몇 번 반복해서 된건지
    let beforeNumber = -1; // 이전 배열의 요소
    
    let isSameNum = false;
    
    let cnt = 0;
    // 배열의 길이가 0보다 클 경우 계속 실행
    while(cnt < arr.length) {
        // 이전 최빈값과 지금 최빈값이 같지 않다면 횟수를 셀 수 있게
        if(beforeNumber !== arr[cnt]){
            choiCnt = 1;
        } else {
            // 배열의 현재 값이 이전 최빈값(배열의 이전 요소)과 같다면
            choiCnt++; // +1을 더해줌
        }
        
        // 이전 최빈값의 횟수랑 지금 최빈값의 횟수랑 같고
        if(choiCnt === choiRepeatCnt) {
            // 현재 최빈값(이전 배열요소) !== 현재 배열요소 같지 않다면
            if(choi !== arr[cnt]){
                isSameNum = true;    
            }
        }
        
        // 현재 배열의 요소가 반복된 횟수 > 이전 요소의 반복된 횟수보다 크면
        if(choiCnt > choiRepeatCnt) {
            choi = arr[cnt];
            choiRepeatCnt = choiCnt;
            isSameNum = false;
        }
        beforeNumber = arr[cnt]; 
        cnt++;
    }
    if(isSameNum === true) return -1;
    return choi;
}
// 최빈값: 주어진 값 중에서 가장 자주 나오는 값
// 조건
// 최빈값이 여러 개면 -1을 return 한다.

// 1. 배열을 먼저 정렬한뒤 차례대로 원소를 확인하며 갯수를 센다.
// 2. 최빈값을 그때 그때 기록한다.

짝수는 싫어요

짝수는 싫어요

문제

정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.


function solution(n) {
    let arr = [];
    for(let i = 1; i <= n; i= i + 2) {
        arr.push(i);
    }
    return arr;
}
profile
최선을 다해 꾸준히 노력하는 개발자 망고입니당 :D

0개의 댓글

관련 채용 정보