[Python] SW Expert Academy #1216 회문2

이재원·2024년 3월 28일

Samsung SW Expert Academy

목록 보기
9/34

📚문제: #1216 회문2(D3)

전체 코드

# 1216. 회문 2
  
# 회문 검사 함수
def palindrome(n, graph):
     
    cnt = 0
      
    # n은 회문의 길이, graph는 보드판
    for i in range(100):
          
        for j in range(100-n+1):
              
            temp = graph[i][j:j+n]
              
            if temp == temp[::-1]:
                 
                # 길이 n의 회문이 있음
                return True
      
    graph_90 = [[0] * 100 for _ in range(100)]
      
    for i in range(100):
          
        for j in range(100):
              
            graph_90[j][99-i] = graph[i][j]
      
    for i in range(100):
          
        for j in range(100-n+1):
              
            temp = graph_90[i][j:j+n]
              
            if temp == temp[::-1]:
                 
                # 길이 n의 회문이 있음
                return True
     
    # 해당 길이의 회문이 없음
    return False
  
for _ in range(10):
      
    m = int(input())
     
    # 글자판 초기화
    board = []
      
    for _ in range(100):
          
        board.append(list(input().rstrip()))
      
    # 함수 실행
    for k in range(1, 100):
         
        bool = palindrome(k, board)
         
        if bool:
             
            ans = k
      
    print("#{} {}".format(m, ans))

0개의 댓글