정수 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;
}