Algorithm/백준

[백준/Python] 럭키 스트레이트

poppy 2021. 5. 14. 11:38
반응형

https://www.acmicpc.net/problem/18406

 

18406번: 럭키 스트레이트

첫째 줄에 점수 N이 정수로 주어진다. (10 ≤ N ≤ 99,999,999) 단, 점수 N의 자릿수는 항상 짝수 형태로만 주어진다.

www.acmicpc.net

# 입력받는 부분
n = str(input())

# 왼쪽과 오른쪽 나누기
left = n[:len(n)//2]
right = n[len(n)//2:]

l_sum = 0 # 왼쪽의 각 자릿수 합
r_sum = 0 # 오른쪽의 각 자릿수 합

# 왼쪽과 오른쪽의 합 구하기
for i in range(len(left)):
  l_sum += int(left[i])
  r_sum += int(right[i])

# 결과 출력
if l_sum == r_sum: print('LUCKY')
else: print('READY')

입력받은 점수N을 왼쪽과 오른쪽으로 나누기 쉽게 하기 위하여 입력을 받을 때 문자열로 입력받습니다. 입력 받은 후 문자열을 슬라이싱하여 왼쪽과 오른쪽으로 나누어 저장합니다. 그 다음 for 문을 돌면서 왼쪽과 오른쪽의 각 자릿수의 합을 구합니다. 왼쪽 합과 오른쪽 합이 같다면 LUCKY 를 출력하고 그렇지 않다면 READY를 출력합니다.

 

처음에 타입에러가 발생했었습니다. 오류를 검색해보니 문자열을 슬라이싱할 때 오류가 난 것이었습니다. 오류의 원인은 len(n)/2을 했을 때 int형이 아니라 float형인 것이었습니다. int형을 만들어주기 위해 len(n)//2 로 수정했고 에러는 해결되었습니다. 참고로 // 연산자는 소수점을 버리고 정수로 결과가 나오는 연산자입니다.

반응형

'Algorithm > 백준' 카테고리의 다른 글

[백준/Python] 특정 거리의 도시 찾기  (0) 2021.07.24
[백준/Python] 플로이드  (0) 2021.07.04
[백준/Python] 카드 정렬하기  (0) 2021.05.08
[백준/Python] 안테나  (0) 2021.05.07
[백준/Python] 국영수  (0) 2021.05.07