Implementation 07 럭키 스트레이트(백준 18406)
2022. 10. 23. 14:50ㆍDev.Study/CS·SW·Algorithm
728x90
이 문제는 생각보다 쉽게 푼 거 같다.
data = 1234
n = list(map(int,str(data))) # 리스트로 숫자 하나씩 담기
x, y = 0, 0 # 앞자리, 뒷자리 합 담을 변수
for i in range(len(n)):
if i < len(n)/2:
x += n[i]
else:
y += n[i]
if x == y: # 앞, 뒤 합이 같을 경우 LUCKY
print('LUCKY')
else: # 아닐 경우 READY
print('READY')
이렇게 data를 받아와서 리스트로 하나씩 담아내고
for문을 돌려서 앞자리, 뒷자리 합을 각각 구하는 방식으로 풀었다.
원래 백준사이트에 있던 문제라 백준 들어가서 제출해봤다.
맨 윗 줄에 def solution(n): 한 줄 추가해서
def solution(n):
data = list(map(int,str(n))) # 리스트로 숫자 하나씩 담기
x, y = 0, 0 # 앞자리, 뒷자리 합 담을 변수
for i in range(len(data)):
if i < len(data)/2:
x += data[i]
else:
y += data[i]
if x == y: # 앞, 뒤 합이 같을 경우 LUCKY
print('LUCKY')
else: # 아닐 경우 READY
print('READY')
이대로 제출했는데
컴파일 에러? 아 언어 C++17 그대로 제출했구나.
난 파이썬이니까 파이썬으로 변경해본다.
근데 틀렸다고 나와서 물음표 한가득
주어진 데이터를 받아와야 하는 거라 input() 값을 직접 받아야 했다.
n = int(input())
data = list(map(int,str(n))) # 리스트로 숫자 하나씩 담기
x, y = 0, 0 # 앞자리, 뒷자리 합 담을 변수
for i in range(len(data)):
if i < len(data)/2:
x += data[i]
else:
y += data[i]
if x == y: # 앞, 뒤 합이 같을 경우 LUCKY
print('LUCKY')
else: # 아닐 경우 READY
print('READY')
첫 줄에 int(input()) 값을 추가해주고 나서야
정답처리가 되었다!
어렵다 어려워~.~
참고 : 이것이 코딩테스트다 p321 Q07 럭키 스트레이트 [https://www.acmicpc.net/problem/18406]
728x90
'Dev.Study > CS·SW·Algorithm' 카테고리의 다른 글
Greedy 01 모험가 길드 (0) | 2022.10.13 |
---|---|
통합구현 (1) | 2022.10.08 |
인터페이스 구현 / [팀프로젝트]DB설계 (1) | 2022.10.08 |
요구사항확인 (0) | 2022.10.07 |