반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

짧은코딩

18406 럭키 스트레이트 본문

코딩 테스트(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를 출력하는 방식으로 구현했다.

728x90
반응형

'코딩 테스트(Python) > 이것이 취업을 위한 코딩 테스트다' 카테고리의 다른 글

10825 국영수(다중 정렬)  (1) 2022.07.22
18352 특정 거리의 도시 찾기  (1) 2022.07.21
모험가 길드  (0) 2022.07.18
커리큘럼  (0) 2022.07.17
1647 도시 분할 계획  (0) 2022.07.16
Comments