Алгоритм кодовых войн
Проблема
Учитывая два числа и арифметический оператор, вернуть результат двух чисел, к которым был применен этот оператор.
두 개의 숫자와, 산술 연산자가 주어진다.
연산자가 사용된 두 숫자의 결과를 반환해라.
Решение 01
function arithmetic(a, b, operator) { if (operator === 'add') return a + b; if (operator === 'subtract') return a - b; if (operator === 'multiply') return a * b; if (operator === 'divide') return a / b; } arithmetic(8, 4, 'add'); // 12 arithmetic(8, 4, 'subtract'); // 4 arithmetic(8, 4, 'multiply'); // 32 arithmetic(8, 4, 'divide'); // 2
Решение 02
function arithmetic(a, b, operator) { switch (operator) { case 'add': return a + b; case 'subtract': return a - b; case 'multiply': return a * b; case 'divide': return a / b; } } arithmetic(8, 4, 'add'); // 12 arithmetic(8, 4, 'subtract'); // 4 arithmetic(8, 4, 'multiply'); // 32 arithmetic(8, 4, 'divide'); // 2
Решение 03
function arithmetic(a, b, operator) { const obj = { add: a + b, subtract: a - b, multiply: a * b, divide: a / b }; return obj[operator]; } arithmetic(8, 4, 'add'); // 12 arithmetic(8, 4, 'subtract'); // 4 arithmetic(8, 4, 'multiply'); // 32 arithmetic(8, 4, 'divide'); // 2