[이코테] 구현 - 럭키 스트레이트 with 파이썬

JIN KANG·2022년 10월 9일

이코테

목록 보기
7/29
post-thumbnail

1. 문제

  • 백준 18406과 같은 문제 (https://www.acmicpc.net/problem/18406)
  • 숫자로된 문자열이 들어온다.
  • 자리수를 기준으로 왼쪽 숫자의 합, 오른쪽 숫자의 합이 같으면 LUCKY, 아니면 READY를 출력하는 프로그램을 만들라.

입력 조건

  • N : 정수 (10 <= N <= 99999999) , 자리수는 항상 짝수 형태

출력 조건

  • 럭키스트레이트가 사용가능하면 , LUCKY 출력
  • 불가능하면, READY 출력

입력 예시

123402

출력 예시

'LUCKY'

2. 아이디어

  • 들어온 문자열의 길이를 측정해서 절반까지 탐색하면서 각각을 저장한다.
  • 둘을 비교하여 결과를 출력한다.

3. 예제코드

# 입력
scores = list(map(int, input()))

# 왼쪽, 오른쪽
left = 0
right = 0 

length = len(scores)

for i in range(length):
    if i < length//2:
        left += scores[i]
        
    else : 
        right += scores[i]
        
if left == right :
    print("LUCKY")
else : 
    print("READY")

4. 배운점

  • 저자 코드는 생략했지만, 저자의 책에서는 왼편의 숫자는 더하기 연산을, 오른편의 숫자는 빼기 연산을 해서, 전체 결과를 0으로 만들고, 결과 판단을 0인지 아닌지로 하였다. 좀 더 컴퓨터스러운 방법이였다고 생각한다.

참조

  • 이것이 취업을 위한 코딩 테스트다. with 파이썬
profile
성장하는 데이터 분석가

0개의 댓글