728x90
1. 정수 num1, num2가 매개변수로 주어질 때, num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요.
- 정답은
function solution(num1, num2) {
var answer = num1 % num2;
return answer;
}
2. 중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.
- 정답은
function solution(array) {
array.sort((a, b) => {
return a - b;
});
return array[Math.floor(array.length / 2)];
}
3. 정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.
-정답은
function solution(n) {
var answer = [];
for (let i = 0; i<=n; i++){
if(i % 2 == 1){
answer.push(i);
}
}
return answer;
}
4. 최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다.
- 정답은
function solution(array) {
var answer = 0;
array.sort(function(a,b){return a-b}) //오름차순
var obj = {
count : 1,
value : 1
} //객체 생성
if (array.length === 1) {
return array[0] // 배열의 길이가 1이면 배열의 0번째를 반환
} else {
var count = 1; //카운트 변수 선언
for (i=0; i < array.length; i++) {
if (array[i] === array[i+1]) {
count += 1 // 같은 인자가 있으면 카운트 상승
} else{
if (obj.count === count) {
obj = {...obj, count : count, value : [obj.value, array[i]] }
} // 변수와 기존 obj.count 가 같으면 배열로 변환해버리기
else if (obj.count < count) {
obj = {...obj, value : array[i], count : count}
} // 변수가 기존 obj.count 보다 크다면! 새 value와 count 넣어주기
else {
obj = obj
} // 아니면 그냥 obj 그대로 두기
count = 1 // 변수 리셋
}
}
}
answer = typeof obj.value === 'object' ? -1 : obj.value
// 배열이라면 최빈값이 여러개이고, number 타입이라면 최빈값이 유일하므로 typeof 로 배열을 찍으면 'object'가 나오는 걸로 삼항연산
return answer;
}
- 끝!