일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- EBS어학당
- 1793번
- 알고리즘
- 신규아이디추천
- 입이 트이는 영어
- programmers
- codility
- 영어
- 2630번
- SecurityFilterChain
- Spring Security
- WebSecurityConfigurerAdapter
- 11047번
- 1992번
- 프로그래머스
- 1057번
- 백준
- 2163번
- BinaryGap
- 파이썬
- 18406번
- Java
- python
- 11727번
- 권주현의 진짜 영국 영어
- 1759번
- 분할정복
- caniuse
- 9251번
- github
Archives
- Today
- Total
철갑이의 이모저모
[백준] 18406번(럭키 스트레이트) with Python 본문
728x90
문제
풀이
len()으로 받아온 값의 자릿수를 구해주고 절반씩 나눠 누적값을 구해줬다. 누적값의 경우, 예를 들어 a에서 123402를 받아오면 ['1', '2', '3', '4', '0', '2']처럼 요소로 이루어진 리스트처럼 여겨지기 때문에 a[i]로 인덱싱해서 누적해주었다.
답
a = input()
b = 0
c = 0
if len(a) % 2 == 0 :
for i in range(0,len(a) // 2) :
b += int(a[i])
for i in range(len(a) // 2, len(a)) :
c += int(a[i])
if b == c :
print('LUCKY')
else :
print('READY')
else :
print('다시 입력해주세요')
N = input()
arr = [0]
sum = 0
for i in N :
sum += int(i)
arr.append(sum)
if len(N) % 2 == 0 :
if (arr[len(N) // 2]-arr[0]) == (arr[len(N)] - arr[len(N) // 2]) :
print('LUCKY')
else :
print('READY')
else :
print('다시 입력해주세요')
누적합을 이용해서 풀어본 것
728x90
'알고리즘' 카테고리의 다른 글
[백준] 11727번(2xn 타일링 2) with Python (0) | 2020.10.07 |
---|---|
[백준] 2003번(수들의 합 2) with Python (2) | 2020.10.02 |
[백준] 1057번(토너먼트) with Java (0) | 2020.09.27 |
[백준] 8958번(OX퀴즈) with Java (0) | 2020.09.27 |
[백준] 2525번(오븐시계) with Python (0) | 2020.09.27 |