Decrypt number
Given a non-empty string consisting only of special chars (!, @, # etc.), return a number (as a string) where each digit corresponds to given special char on the keyboard ( 1→ !, 2 → @, 3 → # etc.).
Expected input and output
"())(" → "9009"
"*$(#&" → "84937"
"!!!!!!!!!!" → "1111111111"
using System;
using System.Linq;
namespace CSharpExercises.Exercises.LINQ
{
class DecryptNumberTask
{
public static void Main()
{
var chars = new char[] { ')', '!', '@', '#', '$', '%', '^', '&', '*', '(' };
var encryptedNumber = "#(@*%)$(&$*#&";
var decryptedNumber = string.Join("", encryptedNumber.Select(c => Array.IndexOf(chars, c)));
Console.WriteLine(decryptedNumber); // 3928504974837
}
}
}