Bird
Raised Fist0
DSA Typescriptprogramming~20 mins

Why Strings Are a Data Structure Not Just Text in DSA Typescript - Challenge Your Understanding

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
String Structure Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this string indexing code?
Consider the following TypeScript code that accesses characters in a string by index. What will be printed?
DSA Typescript
const text = "hello";
console.log(text[1]);
A"e"
B"h"
C"l"
Dundefined
Attempts:
2 left
💡 Hint
Remember that string indexing starts at 0.
🧠 Conceptual
intermediate
2:00remaining
Why is a string considered a data structure?
Which of the following best explains why strings are considered data structures and not just plain text?
ABecause strings are always stored as numbers internally.
BBecause strings store a sequence of characters and allow indexed access to each character.
CBecause strings are only used for displaying text on screen.
DBecause strings cannot be changed once created.
Attempts:
2 left
💡 Hint
Think about how you can access parts of a string.
❓ Predict Output
advanced
2:00remaining
What is the output after string concatenation and length check?
Look at this TypeScript code that concatenates strings and checks length. What will be the output?
DSA Typescript
let s1 = "abc";
let s2 = "def";
let s3 = s1 + s2;
console.log(s3.length);
Aundefined
B3
C6
D7
Attempts:
2 left
💡 Hint
Count the total characters after joining.
🔧 Debug
advanced
2:00remaining
What error does this string mutation code cause?
This TypeScript code tries to change a character in a string. What error or output will it produce?
DSA Typescript
let s = "hello";
s[0] = "H";
console.log(s);
ATypeError: Cannot assign to read only property '0' of string
BSyntaxError
C"Hello"
D"hello"
Attempts:
2 left
💡 Hint
Strings are immutable in TypeScript.
🚀 Application
expert
2:00remaining
How many unique characters are in this string?
Given the string "banana", how many unique characters does it contain?
A3
B4
C5
D6
Attempts:
2 left
💡 Hint
Count distinct letters only once.

Practice

(1/5)
1. Why are strings considered a data structure and not just plain text?
easy
A. Because strings are only used for displaying text on the screen.
B. Because strings store characters in a specific order and allow operations like indexing and slicing.
C. Because strings cannot be changed once created.
D. Because strings are only sequences of numbers.

Solution

  1. Step 1: Understand what a data structure is

    A data structure organizes data to allow efficient access and modification.
  2. Step 2: Analyze string properties

    Strings store characters in order and support operations like indexing, slicing, and searching, which are typical data structure features.
  3. Final Answer:

    Because strings store characters in a specific order and allow operations like indexing and slicing. -> Option B
  4. Quick Check:

    Strings = Ordered character storage [OK]
Hint: Remember: strings hold ordered characters, not just text [OK]
Common Mistakes:
  • Thinking strings are just text without structure
  • Confusing immutability with data structure properties
  • Assuming strings only display data
2. Which of the following is the correct way to access the third character of a string str in TypeScript?
easy
A. str.charAt(3)
B. str(3)
C. str[2]
D. str.get(2)

Solution

  1. Step 1: Recall string indexing in TypeScript

    Strings use zero-based indexing, so the first character is at index 0.
  2. Step 2: Identify correct syntax for accessing characters

    Using square brackets with index accesses the character at that position, so str[2] gets the third character.
  3. Final Answer:

    str[2] -> Option C
  4. Quick Check:

    Index 2 = third character [OK]
Hint: Use zero-based index with square brackets to access characters [OK]
Common Mistakes:
  • Using parentheses instead of brackets
  • Using 1-based indexing
  • Using non-existent methods like get()
3. What will be the output of the following TypeScript code?
const s = "hello";
console.log(s[1] + s[4]);
medium
A. "eo"
B. "he"
C. "hl"
D. "lo"

Solution

  1. Step 1: Identify characters at given indices

    Index 1 of "hello" is 'e', index 4 is 'o'.
  2. Step 2: Concatenate characters

    Concatenating 'e' + 'o' results in "eo".
  3. Final Answer:

    "eo" -> Option A
  4. Quick Check:

    s[1] + s[4] = "e" + "o" = "eo" [OK]
Hint: Remember string indices start at 0; add characters at given indices [OK]
Common Mistakes:
  • Using 1-based indexing
  • Mixing up indices and characters
  • Assuming output is an array
4. Identify the error in this TypeScript code that tries to change the first character of a string:
let word = "hello";
word[0] = "H";
console.log(word);
medium
A. Strings are immutable; you cannot change characters by index.
B. The syntax for changing characters is incorrect; use parentheses instead of brackets.
C. You must declare the string as a constant to modify it.
D. The console.log statement is missing parentheses.

Solution

  1. Step 1: Understand string immutability in TypeScript

    Strings cannot be changed after creation; individual characters cannot be assigned new values.
  2. Step 2: Analyze the code behavior

    Trying to assign to word[0] does not change the string; no error but no effect.
  3. Final Answer:

    Strings are immutable; you cannot change characters by index. -> Option A
  4. Quick Check:

    Strings cannot be changed by index assignment [OK]
Hint: Remember strings are immutable; use new string to change content [OK]
Common Mistakes:
  • Trying to assign characters directly by index
  • Confusing arrays with strings
  • Expecting console.log syntax error
5. Given the string str = "data", which TypeScript code correctly creates a new string with the first character capitalized, demonstrating string as a data structure?
hard
A. const newStr = str.replace(0, str[0].toUpperCase());
B. str[0] = str[0].toUpperCase(); const newStr = str;
C. const newStr = str.toUpperCase()[0] + str[1];
D. const newStr = str[0].toUpperCase() + str.slice(1);

Solution

  1. Step 1: Understand string immutability and methods

    You cannot change characters by index, but you can create new strings using methods like toUpperCase() and slice().
  2. Step 2: Analyze each option

    const newStr = str[0].toUpperCase() + str.slice(1); correctly creates a new string by capitalizing the first character and appending the rest. str[0] = str[0].toUpperCase(); const newStr = str; tries to assign to index (invalid). const newStr = str.toUpperCase()[0] + str[1]; only capitalizes first char but appends only one character. const newStr = str.replace(0, str[0].toUpperCase()); uses replace incorrectly (replace expects substring, not index).
  3. Final Answer:

    const newStr = str[0].toUpperCase() + str.slice(1); -> Option D
  4. Quick Check:

    Create new string with methods, not index assignment [OK]
Hint: Use string methods to build new strings; never assign by index [OK]
Common Mistakes:
  • Trying to assign to string index
  • Using replace with index instead of substring
  • Not including full string after first char
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard