/* Q1)
2개의 정수를 전달받아 그 중 작은 값을
반환하는 함수 min2를 작성하고
브라우저 입력을 통해 2개의 숫자를 입력받아
함수를 통해 작은값을 출력하세요.
*/
== 1번 정답
// 함수부
function min2(n1,n2) {
if(n1 < n2) {
return n1;
} else {
return n2;
}
}
// 실행부
var first = +prompt('첫번째 정수:');
var second = +prompt('두번째 정수:');
alert(`둘 중 작은 수: ${min2(first,second)}`);
/* Q2)
n개의 정수를 전달받아 그 중 최소값을 반환하는 함수 min을 정의하고
사용자에게 반복해서 숫자들을 입력받은 후
min을 호출하여 최소값을 출력하세요.
입력을 그만둘때는 '그만'이라고 입력하도록
코드를 작성하세요
*/
== 2번 정답
// ===================== ↓ 정답 =========== //
/*function min(numbers) {
var minNum = numbers[0];
for (var n of numbers) {
if (n < minNum) {
minNum = n;
}
}
return minNum;
}
var nums = [];
while (true) {
var inputMsg = prompt('숫자를 입력: ');
if (inputMsg === '그만') break;
nums.push(+inputMsg);
}
var result = min(nums);
alert(result);
*/
/*
Q3)
1개의 정수를 전달받아 해당 정수의
3제곱 값을 반환하는 함수 cube를 작성하시고
사용자에게 숫자를 입력받은 후
cube를 호출하여 3제곱값을 출력하세요.
*/
== 3번 정답
function cube(n1) {
return n1 ** 3;
}
var inputNum = +prompt('3제곱할 숫자를 입력하세요: ');
var result = cube(inputNum);
alert(result);
/*
Q4)
n개의 정수와 탐색할 정수를 전달받아
탐색할 정수가 n개 중에 있다면
몇번째에 있는지 반환하고
없다면 -1을 반환하는 함수 search()를
작성하고 아래 그림과 같이 출력하세요.
*/
== 4번 정답
// ===================== ↓ 정답 =========== //
/*
function search(arr, targetNum) {
for (var i = 0; i < arr.length; i++) {
if (arr[i] === targetNum) {
return i;
}
}
return -1;
}
function search2(arr, targetNum) {
return arr.indexOf(targetNum);
}
//==========================
var numbers = [99, 33, 44, 100, 3, 67];
var result = search(numbers, 3);
console.log(`result: ${result}`);
*/
/*
Q5)
n개의 정수와 탐색할 정수를 전달받아
탐색할 정수가 n개 중에 있다면
몇개 있는지 반환하고, 각각 몇번 인덱스에
있는지 아래 그림과 같이 출력하세요.
*/
== 5번 정답
function search(arr = [], targetNum) {
if (arr.includes(targetNum)) {
var count = 0;
for (var i=0; i < arr.length; i++) {
if (arr[i] === targetNum)
count++;
}
var idxNum = [];
for (var i=0; i < arr.length; i++) {
if (arr[i] === targetNum)
idxNum.push(i)
}
}
return (`${targetNum}은 ${count}개 있습니다.\n ${idxNum}`)
}
nums = [1,5,1,7,1];
result = search(nums,1);
console.log(result);
/*
function findNumberCount(arr, targetNum) {
var idxArr = []; //인덱스위치들을 저장할 배열
for (var i=0; i< arr.length; i++) {
if (arr[i] === targetNum) {
idxArr.push(i);
}
}
return idxArr;
}
// 배열의 개수를 알려주는 함수
function count(arr) {
return arr.length;
}
var numbers = [9, 9, 10, 33, 9, 44, 9, 44, 11, 9];
var idxArray = findNumberCount(numbers, 9);
console.log(idxArray);
console.log(`타겟의 개수: ${count(idxArray)}`);
*/
/*
Q6)
1. 1개의 정수 n을 전달받아 n의 약수들을 출력하고
약수의 개수를 리턴하는 함수 calcDivisor를 정의하세요.
2. 약수의 출력은 함수 내부에서 이뤄져야 합니다.
- 호출 예시 : calcDivisor(10);
10의 약수: 1 2 5 10
10의 약수의 개수: 4개
*/
== 6번 정답
/*
function calcDivisor(num) {
var divisorArr = []; //약수 저장 배열
for (var i = 1; i <= num; i++) {
if (num % i === 0) {
divisorArr.push(i);
}
}
console.log(`${num}의 약수: [${divisorArr}]`);
return divisorArr.length;
}
var count = calcDivisor(10);
console.log(`약수의 개수: ${count}개`);
*/
/*
Q7)
1. n개의 정수를 전달받아 해당 정수들의
총합과 평균 2개를 반환하는 함수
calcTotalAndAvg를 작성하고 결과를 출력하세요.
- 호출 예시 : calcTotalAndAvg(10, 20, 30);
- 출력 예시 : 전달된 숫자 총합: 60, 평균: 20
*/
== 7번 정답
/*
function calcTotalAndAvg(numbers) {
var total = 0;
for (var n of numbers) {
total += n;
}
var avg = total / numbers.length;
return {
total: total,
avg: avg
};
}
*/
/* Q08)
1. 키(cm)와 몸무게(kg)을 인수로 전달받아
2. bmi지수를 계산하여 반환함과 동시에
3. bmi가 25.0이상이면 "당신은 과체중입니다."
18.5이하면 "당신은 저체중입니다."
나머지는 "당신은 정상체중입니다."를 출력하는
calcBMI라는 함수를 정의하고 호출하세요.
4. 체중범위 출력은 함수 내부에서 작성되어야 합니다.
# bmi 계산식 : 몸무게(kg) / (키(m) * 키(m))
- 호출 예시 : calcBMI(178.4, 78.2);
- 출력 예시:
키 -> 178.4cm, 체중-> 78.2kg의 체질량지수는: 24.57입니다"
*/
== 8번 정답
function calcBMI(cm, kg) {
var m = cm / 100;
var bmi = kg / (m * m);
if (bmi >= 25) {
console.log('당신은 과체중입니다.');
} else if (bmi <= 18.5) {
console.log('당신은 저체중입니다.');
} else {
console.log('당신은 정상체중입니다.');
}
return bmi;
}
//원하는 자리수만큼 반올림해주는 함수
function round(number, pos) {
return Math.round(number * 10 ** pos) / 10 ** pos;
}
var myBmi = calcBMI(178.4, 78.2);
console.log(`체질량지수: ${round(myBmi, 2)}`);
'javascript' 카테고리의 다른 글
javascript_함수(중첩 함수, 재귀 함수)_22.04.29(day08) (0) | 2022.04.29 |
---|---|
javascript_함수(즉시실행함수)_22.04.29(day08) (0) | 2022.04.29 |
javascript_함수(multi_parameter)_22.04.29(day08) (0) | 2022.04.29 |
javascript_함수(반환문)_22.04.29(day08) (0) | 2022.04.29 |
javascript_함수2(매개변수가 없는 함수)_22.04.29(day08) (0) | 2022.04.29 |