문제 자체를 이해하지 못해서 처음에 헤맸습니다...
자리수가 짝수인 숫자를 찾는 문제입니다.
문제
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
회사에서도 Kotlin 을 사용하고 있지만, 제대로 사용하지 못하기 때문에, Kotlin 에 익숙해지기 위해서 Kotlin 사용에 초점을 맞춰서 문제를 풀었습니다.
답안 :
class Solution {
fun findNumbers(nums: IntArray): Int {
return nums.filter { it.toString().count() % 2 == 0 }.count()
}
}
생각 : 일단은 조건에 맞춰져서 뭔가를 찾아야해서 Filter를 생각했으며, 수의 짝수가 아니라 자릿수의 짝수라서 숫자를 문자로 변경해서 자릿수의 짝수를 찾았습니다.
'Dev > Algorithm' 카테고리의 다른 글
알고리즘 - Decompress Run-Length Encoded List (0) | 2020.02.02 |
---|---|
알고리즘 - Defanging an IP Address (0) | 2020.02.02 |
[책] 누구나 자료 구조와 알고리즘 - 출퇴근 시간 100% 활용!! (0) | 2018.08.31 |
1D1A - One Day One Algorithm (0) | 2018.03.30 |
1D1A - One Day One Algorithm (0) | 2018.03.26 |