18406번: 럭키 스트레이트

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

www.acmicpc.net

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

문제

 

문제 해결을 위한 과정

이 문제는 상당히 쉬운 문제였습니다. 단순히 입력받은 점수를 반으로 나누어서 좌측 영역의 합을 구하고 우측 영역의 합을 구한 뒤 두 합끼리 비교를 하여 같으면 LUCKY를 다르면 READY를 출력해주면 됩니다.

 

문제 해결을 위한 팁

팁이라기보다 문법적인 내용이라고 할 수 있겠습니다. 처음에 점수를 입력받을 때 point = int(input())의 형태로 int형으로 입력받는다면 문자열의 길이를 구하는 len()의 매개변수로 point를 사용할 수 없습니다. int형태이기 때문입니다.  따라서 저는 처음에 점수를 입력받을 때 len()를 사용하기 위해 point = input()으로 문자열로 입력받았습니다.

 

소스코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
point = input()
num_of_left = 0
num_of_right = 0
 
for i in range(len(point)//2):
  num = int(point[i])
  num_of_left += num
 
for i in range(len(point)//2len(point)):
  num = int(point[i]) 
  num_of_right += num
 
if num_of_left == num_of_right:
  print("LUCKY")
else:
  print("READY"
cs

 

 

+ Recent posts