This post is part of the Algorithms Problem Solving series.
Problem description
This is the Find Numbers with Even Number of Digits problem. The description looks like this:
Given an array nums of integers, return how many of them contain an even number of digits.
Examples
Input: nums = [12,345,2,6,7896]
Output: 2
Input: nums = [555,901,482,1771]
Output: 1
Solution
The solution idea is to iterate through the numbers list and for each number, verify how many digits it has and if it has an even digits number, increment the counter.
Using Python3, we can transform the number into a string and get the length of it. If it is divisible by 2, it is an even number of digits.
def find_numbers(nums):
counter = 0
for num in nums:
if len(str(num)) % 2 == 0:
counter += 1
return counter
Resources
- Learning Python: From Zero to Hero
- Algorithms Problem Solving Series
- Big-O Notation For Coding Interviews and Beyond
- Learn Python from Scratch
- Learn Object-Oriented Programming in Python
- Data Structures in Python: An Interview Refresher
- Data Structures and Algorithms in Python
- Data Structures for Coding Interviews in Python
- One Month Python Course
Top comments (0)