1215. 회문1

·2023년 5월 17일

SWEA

목록 보기
30/46

출처 : sw expert academy

T = 10
for test_case in range(1, T + 1):
    N = int(input())
    cnt = 0
    mylist =[['A']*8 for _ in range(8)]
    for i in range(8):
        s = input()
        for j in range(8):
            mylist[i][j] = s[j]
    mylist2 = list(map(list, zip(*mylist)))
    for i in range(8):
        for j in range(0,9-N):
            x1 = ''.join(mylist[i][j:j+N])
            x2 = ''.join(mylist2[i][j:j+N])
            if x1 == x1[::-1] :
                cnt+=1
            if x2 == x2[::-1]:
                cnt+=1
    print('#'+str(test_case),cnt)

문자열 뒤집기 : str[::-1]
리스트 요소 문자열로 합치기 : ''.join(mylist)
리스트 회전 : list(map(list, zip(*mylist))

리스트 행렬 바꿔서 이중 for문으로 검사
더 간단한 방법을 찾아봐야겠다.

profile
🐥

0개의 댓글