Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 자릿수가 짝수인 숫자 찾는 방법

문제 소개

숫자로 이루어진 리스트가 주어졌을 때, 그중 자릿수가 짝수인 숫자의 개수를 세는 문제를 생각해 봅시다.

예를 들어 배열이 [12, 345, 2, 6, 7896]이라면 결과는 2가 됩니다. 그 이유는 12(2자리)와 7896(4자리)만 자릿수가 짝수이고, 345와 2, 6은 자릿수가 홀수이기 때문입니다.

해결 접근 방법

이 문제는 다음 단계를 통해 간단히 해결할 수 있습니다.

  • 리스트의 각 정수를 문자열(str)로 변환합니다.
  • 변환된 문자열의 길이가 짝수라면 카운트(count)를 1 증가시킵니다.
  • 모든 원소를 확인한 후 최종 카운트 값을 반환합니다.

구현 예제

아래 코드를 통해 실제 구현 방법을 확인해 보겠습니다.

class Solution(object):
    def findNumbers(self, nums):
        str_num = map(str, nums)
        count = 0
        for s in str_num:
            if len(s) % 2 == 0:
                count += 1
        return count

ob1 = Solution()
print(ob1.findNumbers([12,345,2,6,7897]))

입력

[12,345,2,6,7897]

출력

2

코드 설명

map(str, nums)를 사용하면 리스트의 모든 정수를 한 번에 문자열로 변환할 수 있습니다. 문자열로 변환된 각 값에 대해 len() 함수로 길이(자릿수)를 구하고, 이 값이 2로 나누어 떨어지면 자릿수가 짝수이므로 카운트를 증가시킵니다. 이 방식의 시간 복잡도는 O(n)으로, 리스트의 크기에 비례하여 선형적으로 동작하므로 효율적입니다.