Facebook Pixel

Secret Code Shuffler

JavaScript
easy
20 mins

You are given a string where each pair of characters represents a letter and a shift value.

  • The first character in each pair is a lowercase letter.
  • The second character is a digit (0-9) representing how many positions to shift the letter in the ASCII character set.

Function Signature

function decodeSecretCode(s) { // Your code here }

Parameters

  • s: A string where characters are paired as (letter, shift)

Return Value

  • Return the decoded string by applying the shifts to each letter.

Example

Input: s = "a2b3c1" Output: "ced" Explanation: - "a2": 'a' (97) + 2 = 99 = 'c' - "b3": 'b' (98) + 3 = 101 = 'e' - "c1": 'c' (99) + 1 = 100 = 'd'
Input: s = "x1y2z3" Output: "y{}" Explanation: - "x1": 'x' (120) + 1 = 121 = 'y' - "y2": 'y' (121) + 2 = 123 = '{' - "z3": 'z' (122) + 3 = 125 = '}'
Input: s = "a0b0c0" Output: "abc" Explanation: Zero shifts leave letters unchanged

Rules

Character Pairs

  • The string consists of pairs where:
    • First character: lowercase letter (a-z)
    • Second character: digit (0-9) representing shift amount

Shift Calculation

  • Add the shift value to the letter's ASCII code.
  • No wrapping - characters can go beyond 'z' to {, }, etc.
  • Use charCodeAt() and fromCharCode() for conversion.

Invalid Inputs
Return empty string for:

  • Empty or null strings
  • Strings with odd length (incomplete pairs)
  • Strings with non-letter characters in odd positions
  • Strings with non-digit characters in even positions

Constraints

  • 0 ≤ s.length ≤ 1000
  • String length must be even (complete pairs)
  • Only lowercase letters (a-z) in odd positions
  • Only digits (0-9) in even positions

Algorithm

  1. Check if input is valid (even length, proper character types).
  2. Process string in pairs of two characters.
  3. For each pair:
    • Extract letter and shift value.
    • Apply shift: newCharCode = letter.charCodeAt(0) + shift
    • Convert back to character: String.fromCharCode(newCharCode)
    • Add decoded character to result.

Test Cases

  • Valid codes with various shift values
  • Codes with characters beyond 'z' (e.g., {, }, |)
  • Zero shift values
  • Invalid inputs (odd length, wrong character types)
  • Empty string
  • Edge cases with maximum shifts

Companies:

netflix
linkedin
adobe
spotify

Solve Similar questions 🔥

Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.