CodingTest/solved - Python
[SWEA D3] 1215. [S/W 문제해결 기본] 3일차 - 회문1
dayae_dev
2024. 5. 3. 22:10
for i in range(10):
length = int(input())
check=[]
for j in range(8):
stringg = input()
check.append(stringg)
#print(check)
answer = 0
ccheck = 0
if length % 2 == 0: # 짝수
checkN = length // 2
ccheck = 0
else:
checkN = ((length+1)//2)-1 # 홀수 한 가운데
ccheck = 1
for one in check: # 가로 체크
stackk = []
if ccheck == 0:
for idx, k in enumerate(one):
if idx > len(one) - length:
break
for ik in range(checkN):
stackk.append(one[idx+1])
good = 0
for jk in range(checkN):
print
if stackk.pop == one[checkN+idx+1]:
good = 1
else:
good = 0
break
if good == 1:
answer+=1
else:
for idx, k in enumerate(one):
if idx > len(one) - length:
break
for ik in range(checkN):
stackk.append(one[idx+1])
good = 0
stackk.pop()
for jk in range(checkN-1):
if stackk.pop == one[checkN+idx+1]:
good = 1
else:
good = 0
if good == 1:
answer+=1
for p in range(8): # 세로 체크
stackk = []
if ccheck == 0:
for idx, two in enumerate(check):
if idx > len(two) - length:
break
for ik in range(checkN):
stackk.append(check[idx+ik][p])
good = 0
for jk in range(checkN):
if stackk.pop == check[checkN+idx+jk][p]:
good = 1
else:
good = 0
if good == 1:
answer+=1
else:
# 홀수
for idx, two in enumerate(check):
if idx > len(two) - length:
break
for ik in range(checkN):
stackk.append(check[idx+ik][p])
good = 0
stackk.pop()
for jk in range(checkN-1):
if stackk.pop == check[checkN+idx+jk][p]:
good = 1
else:
good = 0
if good == 1:
answer+=1
print("#"+str(i+1), str(answer))