코딩테스트

백준 11059 크리 문자열 파이썬

이지호_tech 2023. 1. 24. 16:48

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

 

11059번: 크리 문자열

첫째 줄에 문자열 S가 주어진다. S는 숫자로만 이루어져 있으며, 길이는 1,000을 넘지 않는다. 항상 크리 문자열이 존재하는 입력만 주어진다.

www.acmicpc.net

num = input()
if(len(num)%2==0):
  firstLen = len(num)
else:
  firstLen = (len(num)-1)
answer=0
Bool=True

while Bool==True:
  if(firstLen==2):
    answer=2
    break
  for i in range(0,len(num)-firstLen+1):
    cnt1=0
    cnt2=0
    for j in range(i,i+firstLen//2):
      cnt1+=int(num[j])
    for k in range(i+firstLen//2,i+firstLen):
      cnt2+=int(num[k])
     
    if cnt1==cnt2:
      answer = firstLen//2
      Bool=False
  
  else:
    firstLen-=2
print(answer*2)

1. 처음 가능한 문자열의 길이를 설정해준다 (홀수 , 짝수 다르게)

2. While문 돌면서 한개씩 직접 돌아주면서 비교

3. break문쓰면 for문만 탈출하므로 Bool=Flase 로 탈출