알고리즘 공부/파이썬(Python)

SWEA 1215번 D3 [S/W 문제해결 기본] 3일차 - 회문1문제 내용

마달랭 2024. 7. 5. 09:41
반응형

리뷰1

열을 순회할때 행을 순회하는 것 보단 신경을 써줘야 하는 것 같다.

문제 풀이

테스트 케이스를 10개 받아온다.

가로방향으로 주어진 문자열의 길이만큼 받아온 뒤 해당 문자열과 뒤집은 문자열이 일치하면 result를 올려준다.

세로방향도 가로방향과 마찬가지로 올려준다.

테스트 케이스와 결과값을 출력시킨다.

 

참고 사항

가로 문자열을 참조할땐 인덱싱을 통해 문자열을 비교하면 된다.

세로 문자열을 참조할땐 for문을 하나 더 개행해 주었다.

 

정답 코드

for i in range(1, 11):
    l = int(input())
    lst = [input() for _ in range(8)]
    result = 0
    for j in range(8):
        for k in range(8 - (l - 1)):
            temp = lst[j][k:k + l]
            if temp == temp[::-1]:
                result += 1
    for j in range(8):
        for k in range(8 - (l - 1)):
            temp = ''
            for m in range(l):
                temp += lst[k + m][j]
            if temp == temp[::-1]:
                result += 1
    print(f'#{i} {result}')

 

728x90
반응형