구현
머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정
완전 탐색 - 모든 경우의 수를 주저 없이 다 계산하는 해결 방법
시뮬레이션 - 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행
현재 캐릭터의 점수를 N이라고 할 때 자릿수를 기준으로 점수 N을 반으로 나누어 왼쪽 부분의 각 자릿수의 합과 오른쪽 부분의 각 자릿수의 합을 더한 값이 동일한 상황을 럭키 스트레이트를 사용할 수 있는 상태입니다.
현재 점수 N이 주어지면 럭키 스트레이트를 사용할 수 있는 상태인지 아닌지를 알려주는 프로그램을 작성하세요.
정수 N의 자릿수는 항상 짝수 형태로만 주어집니다.
첫째 줄에 럭키 스트레이트를 사용할 수 있다면 "LUCKY"를, 사용할 수 없다면 "READY"를 출력합니다.
123402
LUCKY
123402
LUCKY
N = input()
# 입력된 N의 길이의 절반의 크기
N_half = len(N) // 2
# 왼쪽 부분을 int형으로 바꾸고, 리스트로 변환
left = list(map(int, N[:N_half]))
# 오른쪽 부분을 int형으로 바꾸고, 리스트로 변환
right = list(map(int, N[N_half:]))
if (sum(left) == sum(right)):
print("LUCKY")
else:
print("READY")
map 함수로 문자열에서 숫자형태 문자를 정수로 변환하여 list에 담아 sum 함수를 이용하여 합을 구하였다.
문제에서 요구하는 조건이 그리 어렵지 않았기 때문에 바로 풀 수 있었다.