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"`
Overview: 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.
Read the full Carvana Software Engineer interview experience this question came from
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.