PythonCodeFight-Day6

Day_6

Intro.

Q11. isLucky

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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
def isLucky(n):
n_str = str(n)

n_list = list(n_str)

sumFront = 0
sumSecond = 0

for i in range(len(n_list)):
if i < len(n_list)/2:
sumFront += int(n_list[i])
print(int(n_list[i]))
else:
sumSecond += int(n_list[i])
print(int(n_list[i]))

if sumFront == sumSecond:
return True
else:
return False

고민 흐름

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 테스트 케이스를 바꿔가면서 확인
n = 234036

# 붙어있는 숫자를 앞과 뒤로 분리해야하기 때문에, 쪼개는 방법을 생각하던 중 입력으로 받은 수를 string으로 변환
n_str = str(n)

# string으로 변환한 입력을 list로 바꾸면 list로 다룰 수 있게 됨
n_list = list(n_str)

# 앞의 합과 뒤의 합
sumFront = 0
sumSecond = 0

# 전체 리스트의 값을 순회하기
for i in range(len(n_list)):
# 앞의 반일 경우
if i < len(n_list)/2:
sumFront += int(n_list[i])
print(int(n_list[i]))
# 뒤의 반일 경우
else:
sumSecond += int(n_list[i])
print(int(n_list[i]))

# 값 비교
if sumFront == sumSecond:
return True
else:
return False