Question
Ticket numbers usually consist of an even number of digits. A ticket number is considered lucky if the sum of the first half of the digits is equal to the sum of the second half.
Given a ticket number n
, determine if it's lucky or not.
Example
- For
n = 1230
, the output should beisLucky(n) = true
; - For
n = 239017
, the output should beisLucky(n) = false
.
Input/Output
[execution time limit] 4 seconds (py3)
[input] integer n
A ticket number represented as a positive integer with an even number of digits.
Guaranteed constraints:
10 ≤ n < 106
.[output] boolean
true
ifn
is a lucky ticket number,false
otherwise.
MY_ANSWER
def isLucky(n):
n = [int(i) for i in str(n)]
n_slice = len(n) // 2
if sum(n[:n_slice]) == sum(n[n_slice : ]):
return True
else:
return False
Best_ANSWER
def isLucky(n):
s = str(n)
pivot = len(s)//2
left, right = s[:pivot], s[pivot:]
return sum(map(int, left)) == sum(map(int, right))