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 input0. - Use standard American English scale words:
Thousand,Million, andBillion. - 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
- 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.