From 28cfb07a99a119594726f94c0de8ca979c7e4714 Mon Sep 17 00:00:00 2001 From: KonstantinPogosskiy Date: Wed, 25 Aug 2021 21:59:01 +0300 Subject: [PATCH] refactor: add task --- src/index.js | 84 ++++++++++++++++++++++++++++------------------------ 1 file changed, 45 insertions(+), 39 deletions(-) diff --git a/src/index.js b/src/index.js index fbeac9bc6..4f7bc56bb 100644 --- a/src/index.js +++ b/src/index.js @@ -1,44 +1,50 @@ -const MORSE_TABLE = { - '.-': 'a', - '-...': 'b', - '-.-.': 'c', - '-..': 'd', - '.': 'e', - '..-.': 'f', - '--.': 'g', - '....': 'h', - '..': 'i', - '.---': 'j', - '-.-': 'k', - '.-..': 'l', - '--': 'm', - '-.': 'n', - '---': 'o', - '.--.': 'p', - '--.-': 'q', - '.-.': 'r', - '...': 's', - '-': 't', - '..-': 'u', - '...-': 'v', - '.--': 'w', - '-..-': 'x', - '-.--': 'y', - '--..': 'z', - '.----': '1', - '..---': '2', - '...--': '3', - '....-': '4', - '.....': '5', - '-....': '6', - '--...': '7', - '---..': '8', - '----.': '9', - '-----': '0', -}; +let MORSE_TABLE = { + '0000001011': 'a', + '0011101010': 'b', + '0011101110': 'c', + '0000111010': 'd', + '0000000010': 'e', + '0010101110': 'f', + '0000111110': 'g', + '0010101010': 'h', + '0000001010': 'i', + '0010111111': 'j', + '0000111011': 'k', + '0010111010': 'l', + '0000001111': 'm', + '0000001110': 'n', + '0000111111': 'o', + '0010111110': 'p', + '0011111011': 'q', + '0000101110': 'r', + '0000101010': 's', + '0000000011': 't', + '0000101011': 'u', + '0010101011': 'v', + '0000101111': 'w', + '0011101011': 'x', + '0011101111': 'y', + '0011111010': 'z', + '1011111111': '1', + '1010111111': '2', + '1010101111': '3', + '1010101011': '4', + '1010101010': '5', + '1110101010': '6', + '1111101010': '7', + '1111111010': '8', + '1111111110': '9', + '1111111111': '0', + '**********': ' ', +} function decode(expr) { - // write your solution here + let str = "" + for(let i=0; i< expr.length; i+=10) { + Object.keys(MORSE_TABLE).forEach(function (key) { + if (expr.slice(i, i + 10) === key) str += MORSE_TABLE[key] + }) + } return str; } module.exports = {