cswork / libraryOpen practice workspace

Coding questions · Carvana

Spell Out a Nonnegative Integer

This question evaluates a candidate's ability to decompose integers and implement precise string-formatting logic, including mapping numeric values to their English word equivalents and managing scale units and boundary conditions.

Given a nonnegative integer, return its English words representation.

Implement a function that handles numbers from 0 through 2,147,483,647 inclusive.

Requirements:

  • Return "Zero" for input 0.
  • Use standard American English scale words: Thousand, Million, and Billion.
  • Do not include the word and.
  • Use single spaces between words and no leading or trailing spaces.
  • Capitalize each word as shown in the examples.

Examples:

  • Input: 7
    Output: "Seven"
    
  • Input: 19
    Output: "Nineteen"
    
  • Input: 123
    Output: "One Hundred Twenty Three"
    
  • Input: 1005
    Output: "One Thousand Five"
    
  • Input: 1234567
    Output: "One Million Two Hundred Thirty Four Thousand Five Hundred Sixty Seven"
    
  • Input: 2147483647
    Output: "Two Billion One Hundred Forty Seven Million Four Hundred Eighty Three Thousand Six Hundred Forty Seven"
    

Spell Out a Nonnegative Integer

Constraints

  • 0 <= num <= 2147483647
  • Only the scale words Thousand, Million, and Billion are needed
  • Do not use the word "and" anywhere in the output

Hints

  1. Break the number into groups of three digits from right to left: ones, thousands, millions, billions.
  2. Write a helper that converts a number from 1 to 999 into words, then attach the correct scale word for each nonzero group.