Spell Out a Nonnegative Integer
Company: Carvana
Role: Software Engineer
Category: Coding & Algorithms
Difficulty: easy
Interview Round: Onsite
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"`
Quick Answer: 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. Handle every value from 0 through 2,147,483,647 inclusive.
Rules:
- 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, with no leading or trailing spaces.
- Capitalize each word exactly as shown in the examples.
Constraints
- 0 <= num <= 2147483647
- Only the scale words Thousand, Million, and Billion are needed
- Do not use the word "and" anywhere in the output
Examples
Input: (0,)
Expected Output: "Zero"
Explanation: Zero is a special case and should return exactly "Zero".
Input: (7,)
Expected Output: "Seven"
Explanation: Single-digit numbers map directly to their word form.
Hints
- Break the number into groups of three digits from right to left: ones, thousands, millions, billions.
- Write a helper that converts a number from 1 to 999 into words, then attach the correct scale word for each nonzero group.