코테 준비!
SW Expert Academy - 1215. [S/W 문제해결 기본] 3일차 - 회문1
minsugar
2024. 5. 7. 15:15
문제 링크 :
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
for q in range(10):
n = int(input())
arr = []
cnt = 0
for i in range(8):
arr.append("".join(input()))
# print(arr[0][0])
for j in range(8):# 0 1 2 3 4 5 6 7 0,len(arr)-n+1,1
for k in range(0,len(arr[j])-n+1,1):
test = []
test2 = []
for l in range(n):# 0 1 2 3
test.append(arr[j][k+l])
for u in range(n-1,-1,-1):# 3 2 1 0
test2.append(test[u])
if test == test2:
# print(test, test2,end="")
cnt +=1
for j in range(8):# 0 1 2 3 4 5 6 7 0,len(arr)-n+1,1
for k in range(0,len(arr[j])-n+1,1):
test = []
test2 = []
for l in range(n):# 0 1 2 3
test.append(arr[k+l][j])
for u in range(n-1,-1,-1):# 3 2 1 0
test2.append(test[u])
if test == test2:
# print(test, test2,end="")
cnt +=1
print(f'#{q+1}',cnt)
가로, 세로 돌면서 체크 해주는 코드입니다.
test = [] 에 회문의 길이만큼 추가해 주고,
추가한 길이만큼 반대로 체크해줍니다. 그게 맞으면 cnt + 1을 통해서 체크합니다.
GPT 답안비교!
GPT는 리스트 슬라이싱을 통해서 역순으로 읽어 검사하는거 같아요!.
다음에 기회가 있다면 이런 방법도 생각해 봐야겠네요..