JavaScript

[중앙정보처리학원] JavaScript* 함수 quiz

해보구 2024. 3. 28. 08:52

Quiz 1

/*
Q. n의 약수의 개수를 구하기
1. 정수 n을 전달받아 n의 약수들을 출력하고
약수의 개수를 리턴하는 함수 calcDivisor를 정의하세요.
2. 약수의 출력은 함수 내부에서 이뤄져야 합니다.
3. 힌트) 전달받은 n을 1부터 n까지 지속적으로 나누어
나누어 떨어졌을 시 약수의 개수 카운트를 1증가시키고 출력.
*/
function calcDivisor (n) {
  var divCount = 0;
  var arr = [];
  for (var i=1; i<=n; i++){
    if (n % i === 0) {
      divCount++
      arr.push(i);
    }
    
  }
  console.log(arr);
  return(divCount);
}





// 호출부
var divCount = calcDivisor(10);
console.log(`약수의 개수: ${divCount}개`);

 

여기서 i 는 파라미터에 관한 즉 호출부 값 10에 관한 것이라는 걸 알 수 있다. 조건문이든 뭐든 관해서 사용하려면 i를 넣어준다.

그리고 divcount로 갯수를 새고 arr.push로 배열을 만들어주는 것이다. 

 

 

 

 

 

 

 

Quiz 2

/*
1. 키(cm)와 몸무게(kg)을 인수로 전달받아
2. bmi지수를 계산하여 반환함과 동시에
3. bmi가 25.0이상이면 "당신은 과체중입니다."
18.5이하면 "당신은 저체중입니다."
나머지는 "당신은 정상체중입니다."를 출력하는
CalcBMI라는 함수를 정의하고 호출하세요.
Math.round(); // 반올림
# bmi 계산식 : 몸무게(kg) / (키(m) * 키(m))
# 출력 예시:
"키 -> 178.4cm, 체중-> 78.2kg의 체질량지수는: 24.57입니다"
*/

 

 

함수 1번

// bmi판별해서 체중상태를 출력하는 함수
function judgeWeight(bmi) {
  var level; 
  if (bmi >= 25.0) {
    level = '과';
  } else if (bmi <= 18.5) {
    level = '저';
  } else {
    level = '정상';
  }
  console.log(`당신은 ${level}체중입니다.`);
}

function calcBMI(cm, kg) {
  var m = cm / 100;
  var bmi = kg / (m * m);

  judgeWeight(bmi);
  
  return bmi;
}

 

함수 2번

// 어떤 숫자를 자릿수만큼 반올림하는 함수
/*
  Math.round()
  ex)  5.78889327428734 -> 6
       34.12314234523   -> 34

  5.78786455435
  x 100 =>   578.7864...
  반올림 =>  579
  / 100 =>   5.79
*/
function round(number, position) {
  // return Math.round(number * 10 ** position) / 10 ++ position;
  
  
}

 

호출부

var h = 178.4, w = 78.2;
var myBmi = calcBMI(h, w);

console.log(`키 -> ${h}cm, 체중 -> ${w}kg의 체질량지수는 ${round(myBmi, 3)}입니다.`);

 

 

 

 

 

함수 3

function min2(n1, n2) {
  // if (n1 < n2) {
  //   return n1;
  // } else {
  //   return n2;
  // }
  return n1 > n2 ? n2 : n1;
}

n1 > n2가 참이면 n2가 반환되고, 거짓이면 n1이 반환

 

 

 

 

Quiz 4

/*
 
Q. n개의 정수를 전달하면 해당 정수들의 총합과 평균을
반환하는 함수 calcNumbersTotalAndAverage를 작성하세요.
 
*/
// 값 만큼 : length

// 함수는 걍 위에 몰아놓기
// ============== 함수 정의 영역 ============//
// =============== 실행 영역 ===========//   이런식으로 나눠

function calcNumbersTotalAndAverage(...numbers) {
  var total = 0;
  var avg = 0;
  for (var n of numbers) {
    total+=n;
  }
  var avg = total / numbers.length;
  
  return {
    total,
    avg
  };
}



var result = calcNumbersTotalAndAverage(90, 80, 100, 90); //360과 90이 리턴되어야 함!
console.log(`총합: ${result.total}, 평균: ${result.avg}`);