코딩 테스트(Python)/이것이 취업을 위한 코딩 테스트다
18406 럭키 스트레이트
5_hyun
2022. 7. 19. 13:53
반응형
https://www.acmicpc.net/problem/18406
18406번: 럭키 스트레이트
첫째 줄에 점수 N이 정수로 주어진다. (10 ≤ N ≤ 99,999,999) 단, 점수 N의 자릿수는 항상 짝수 형태로만 주어진다.
www.acmicpc.net
해결법
이 문제는 숫자를 입력 받고 mid로 왼쪽 값과 오른쪽 값을 나눌 수 있다. 그리고 left, right에 값을 저장하고 left와 right가 같으면 LUCKY를 출력하고 다르면 READY를 출력한다.
코드
n = input()
ary = []
for i in range(len(n)):
ary.append(int(n[i]))
left = 0
right = 0
mid = len(n) // 2
for i in range(mid):
left += ary[i]
for i in range(mid, len(n)):
right += ary[i]
if left == right:
print("LUCKY")
else:
print("READY")
교재 풀이
n = input()
length = len(n) # 점수 값의 총 자릿수
summary = 0
# 왼쪽 부분의 자릿수의 합 더하기
for i in range(length // 2):
summary += int(n[i])
# 오른쪽 부분의 자릿수의 합 빼기
for i in range(length // 2, length):
summary -= int(n[i])
# 왼쪽 부분과 오른쪽 부분의 자릿수 합이 동일한지 검사
if summary == 0:
print("LUCKY")
else:
print("READY")
교재에서는 왼쪽 값을 summary에 더한다. 그리고 오른쪽 값을 summary에서 빼가면서 summary가 0이 되면 LUCKY를 출력하는 방식으로 구현했다.
반응형