multipleAndSum.js (8kyu 91)

Codewars 알고리즘 풀이


Problem

  • Make a function that returns the value multiplied 50 and increased by 6.
    • 값에 50을 곱하고 6을 더한 값을 반환한다.
  • If the value entered is a string it should return ‘Error’.
    • 입력된 값이 문자열이라면 ‘Error’를 반환한다.


Solution 01

function multipleAndSum(x) {
  if (typeof x === 'number') {
    return x * 50 + 6;
  } else {
    return 'Error';
  }
}

multipleAndSum('');          // Error
multipleAndSum(0);           // 6
multipleAndSum(1);           // 56
multipleAndSum(2);           // 106
multipleAndSum('Codewars');  // Error

typeof 연산자

변수 또는 표현식의 타입을 반환한다.


Solution 02

function multipleAndSum(x) {
  return typeof x === 'number' ? x * 50 + 6 : 'Error';
}

multipleAndSum('');          // Error
multipleAndSum(0);           // 6
multipleAndSum(1);           // 56
multipleAndSum(2);           // 106
multipleAndSum('Codewars');  // Error


Solution 03

function multipleAndSum(x) {
  let result = x * 50 + 6;
  
  if (isNaN(x) || x === '') {
    return 'Error';
  } else {
    return result;
  }
}

multipleAndSum('');          // Error
multipleAndSum(0);           // 6
multipleAndSum(1);           // 56
multipleAndSum(2);           // 106
multipleAndSum('Codewars');  // Error

isNaN() 메소드

값이 숫자인지를 확인한다. (Not a Number)