알고리즘/SWEA

[파이썬] [SWEA] 4861. [파이썬 S/W 문제해결 기본] 3일차 - 회문

SBOX Learning by doing 2021. 2. 20. 16:38
반응형

swexpertacademy.com/main/learn/course/subjectList.do?courseId=AVuPDN86AAXw5UW6

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

1. normal

T = int(input())

for tc in range(1, T+1):
    N, M = map(int, input().split())
    # 정답 리스트
    goal_list = []

    # array 형식 변환
    tx_list = []
    for i in range(N):
        N_str_list = list(map(str, input().split()))
        tx_list += N_str_list

    # print(tx_list[0][0])

    # 가로 확인
    for j in range(N):
        for k in range(N-M+1):
            cnt = 0
            for t in range(M):
                if tx_list[j][t+k] == tx_list[j][M+k-t-1]:
                    cnt += 1
            if cnt == M:
                print("#{}".format(tc), end=" ")
                print(tx_list[j][k:k+M])

            # 세로 확인
            for k in range(N-M+1):
                cnt = 0
                for t in range(M):
                    if tx_list[t+k][j] == tx_list[M+k-t-1][j]:
                        cnt += 1
                if cnt == M:
                    print("#{}".format(tc), end=" ")

                    for i in range(M):
                        print(tx_list[k+i][j], end="")
                    print()
반응형