aleffelixf

AFD in Node.js

Sep 2nd, 2021 (edited)
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'use strict'
  2.  
  3. /**
  4.  * @param {Number} pos
  5.  * @param {String} letter
  6.  * @return {Number}
  7.  */
  8. const switchState = (pos, letter) => {
  9.     const states = (currentPos) => ({
  10.         1: letter === 'a' ? 2 : 3,
  11.         2: letter === 'b' ? 4 : 3,
  12.         3: 3,
  13.         4: 4,
  14.     }[currentPos]);
  15.  
  16.     return states(pos);
  17. }
  18.  
  19. /**
  20.  * @param {String} words
  21.  * @returns {Boolean}
  22.  */
  23. const validateDfa = (words) => {
  24.     let pos = 1;
  25.     const letters = words.split('');
  26.  
  27.     for (const letter of letters) {
  28.         pos = switchState(pos, letter);
  29.     }
  30.  
  31.     return pos === 4;
  32. }
Add Comment
Please, Sign In to add comment