민여위-

[Leetcode] Find Numbers with Even Number of Digits (Explore Arrays 101) / 릿코드 활용, 코딩테스트 본문

Tech

[Leetcode] Find Numbers with Even Number of Digits (Explore Arrays 101) / 릿코드 활용, 코딩테스트

꿀땡이 2021. 10. 9. 22:08
728x90
반응형

1. 문제설명

Given an array nums of integers, return how many of them contain an even number of digits.

 

Example 1:

Input: nums = [12,345,2,6,7896] Output: 2 Explanation: 12 contains 2 digits (even number of digits).  345 contains 3 digits (odd number of digits).  2 contains 1 digit (odd number of digits).  6 contains 1 digit (odd number of digits).  7896 contains 4 digits (even number of digits).  Therefore only 12 and 7896 contain an even number of digits.

Example 2:

Input: nums = [555,901,482,1771] Output: 1 Explanation: Only 1771 contains an even number of digits.

 

Constraints:

  • 1 <= nums.length <= 500
  • 1 <= nums[i] <= 10^5

2. 내 풀이

class Solution {
public:
    int findNumbers(vector<int>& nums) {
        
        int nCountWords = 0;
        
        for(int i = 0; i < nums.size(); i++) {
            int nCountNumDigit = 0;
            int nFlag = 1;
            int tempData = nums[i];
            
            while(nFlag) {  
                if(0 != tempData) {
                    nCountNumDigit ++;
                    tempData /= 10;
                } else {
                    nFlag = 0;
                }
            }
            
            if(0 == nCountNumDigit % 2) {
                nCountWords ++;
            }
        }
        
        return nCountWords;
    }
};
728x90
반응형
Comments