두 수 사이의 숫자들을 출력하는 함수를 작성하시오. 입력은 두 숫자 값이 주어지며, 입력된 숫자를 포함한 두 수 사이의 자연수를 배열로 반환한다.
let input = [
[3,7],
[8,3],
[12,10],
]
for(let i = 0; i < input.length; i++){
console.log(makeArr(input[i][0], input[i][1]));
}
function makeArr(a,b){
let arr = [];
if(a > b) {
// 변수 스왑
let t = a;
a = b;
b = t;
}
for(let i = a; i <= b; i++){
arr.push(i);
}
}
a가 b보다 큰 경우, 가상의 t가 a가 가진 값이라고 규정하고 a의 값을 b로 치환한다(a = b). 그리고 b의 값은 t에 담긴 a의 값으로 치환한다.
2.판매 수량을 입력 받아서, 가장 많이 판매한 종업원 번호를 반환해주는 함수를 작성하시오. 입력은 배열 형태로 종업원 별 판매 수량 값이 주어지며, 가장 많이 판매한 수를 반환한다. 가장 첫번째 번호는 1번이다.(Math함수를 사용하지 않고 구현)
let input = [
[3, 7, 9, 6, 1],
[2, 7, 1, 4, 3, 0, 5],
[7, 5, 0, 1, 2, 12, 6],
];
answer(input);
function answer(team){
team.forEach((arr) => {
let resultIdx;
let max = 0;
arr.forEach((item,index) => {
if(item > max){
max = item;
resultIdx = index + 1;
}
})
console.log(resultIdx);
})
}
forEach
의 인자로 item뿐만 아니라 index도 반복된다.3.두 자연수를 입력 받아 앞의 숫자에서 뒤의 숫자를 뺄셈하며 반복 연산하는 프로그램을 작성하시오. (단, 무한 연산을 막기 위해 뺀 값이 음수일 때 프로그램이 종료된다.)
let input2 = [
[6,3],
[9,3],
[13,7],
];
for(let i = 0; i < input2.length; i++){
console.log(minusMinus(input2[i][0],input2[i][1]));
}
function minusMinus(a,b){
let sum;
let arr = [a,b];
while(true){
sum = a - b;
a = b;
b = sum;
if(b < 0) break;
arr.push(b);
}
/*
6 3 3 0 3 -3
a b sum
a b sum
a b sum
a b sum(push되지 않음)
*/
return arr;
}