[SW Expert Academy] D3 1215번 [S/W 문제해결 기본] 3일차 - 회문1(python)

good_da22·2022년 5월 16일
0

SW Expert Academy

목록 보기
14/20
post-thumbnail

SW Expert Academy

1215번 [S/W 문제해결 기본] 3일차 - 회문1 / Python

문제

풀이과정

정해진 길이의 회문을 찾아서 완전탐색
가로 검사의 경우 행 접근, 슬라이싱으로 문자열 확인
세로 검사의 경우 열 접근, 정해진 회문의 길이 만큼 열을 탐색, 문자열 확인

string == string[::-1] 문자열 원문과 역순 비교

소스코드

T = 10

result = []
for i in range(T):
    length = int(input())
    testcase = []
    for _ in range(8):
        testcase.append(input())

    count = 0
    for i in range(8):
        for j in range(8 - length + 1): #검사 할 인덱스 주의
            #가로 검사
            string = testcase[i][j:j+length] #가로의 경우 슬라이싱
            if string == string[::-1]: #문자열 역순
                count += 1
            #세로 검사
            string = ''
            for k in range(length):
                string += testcase[j + k][i] #세로의 경우 row 인덱스와 col 인덱스 주의
            if string == string[::-1]:
                count += 1

    result.append(count)

for i in range(T):
    print("#{} {}".format((i+1), result[i]))
profile
dev blog

0개의 댓글