관리 메뉴

JIE0025

[연습문제][lv.3] 가장 긴 팰린드롬 - 파이썬(Python) 본문

알고리즘/프로그래머스

[연습문제][lv.3] 가장 긴 팰린드롬 - 파이썬(Python)

Kangjieun11 2023. 1. 24. 20:26
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/12904

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

팰린드롬과 가장 긴 팰린드롬에 대한 개념은 해당 글에 적어놨다.

https://jie0025.tistory.com/409

 

그래도 복붙해서 가져와보면

 

 

 

⏺ 회문(Palindrome)

  • 앞 뒤가 똑같은 단어나 문장
  • 대소문자와 띄어쓰기는 구분하지 않는다.
  • 글자와 숫자만 따진다 
  • 가나다다나가
  • Madam, I'm Adam

 

 

 

가장 긴 팰린드롬을 찾아서 해당 길이를 리턴하면 된다.

 

💻 CODE

def solution(s):
    
    maxVal = 0
    
    for i in range(len(s)):
        for j in range(len(s), i, -1):
            tmpStr = s[i:j] #i~j-1까지 슬라이싱 되므로 len(s)부터 시작, range역시 i+1까지 작동하므로 i로 설정
            if (tmpStr == tmpStr[::-1]):
                maxVal = max(maxVal, len(tmpStr))
    
    return maxVal