This post is part of the Algorithms Problem Solving series.
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.
Input: nums = [12,345,2,6,7896] Output: 2 Input: nums = [555,901,482,1771] Output: 1
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
- 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