vampireTest.js (7kyu 69)

Codewars 알고리즘 풀이


Problem

  • Create a function that can receive two ‘fangs’ and determine if the product of the two is a valid vampire number.
    • 두 개의 ‘송곳니’가 유효한 뱀파이어 숫자인지 확인하는 함수를 작성한다.


Vampire numbers:

1530 = 30 x 51

1260 = 21 x 60

etc


Solution

function vampireTest(a, b) {
  let x = a.toString() + b.toString();
  let y = (a * b).toString();
  
  x = x.split('').sort().join('');
  y = y.split('').sort().join('');
  
  return x === y ? true : false;
}

vampireTest(30, 51);	// true
vampireTest(21, 60);	// true
vampireTest(22, 44);	// false

toString(): 숫자를 문자열로 변환한다.

split(): 문자열을 부분 문자열로 분할하고, 새 배열로 반환한다.

sort(): 배열의 element를 정렬한 후, 그 배열을 반환한다.

join(): 배열의 모든 element를 결합하고, 새 문자열로 반환한다.