[Python 문제풀이] 6일차

2020. 7. 14. 11:0003. Resources/Python

728x90
반응형

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.

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

고민 흐름

# 테스트 케이스를 바꿔가면서 확인
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
반응형

'03. Resources > Python' 카테고리의 다른 글

[Python 문제풀이] 8일차  (0) 2020.07.16
[Python 문제풀이] 7일차  (0) 2020.07.15
[Python 문제풀이] 5일차  (0) 2020.07.13
[Python 문제풀이] 4일차  (0) 2020.07.12
[Python 문제풀이] 3일차  (0) 2020.07.11