저고데

[프로그래머스]가장 긴 팰린드롬 본문

프로그래머스

[프로그래머스]가장 긴 팰린드롬

진철 2023. 1. 25. 21:37
728x90
반응형

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12904

 

프로그래머스

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

programmers.co.kr

문제를 간략히 설명하면 다음과 같다.

팰린드롬이란 앞으로 읽거나 뒤로 읽어도 같은 것을 의미한다.

문자열 s가 주어질 때, s로 만들 수 있는 팰린드롬의 최대 길이는 얼마인지 반환해야 한다.

 

코드를 작성하기 위한 순서는 다음과 같다.

1. 문자열 s로부터 만들 수 있는 문자열 만들어준다.

2. 해당 문자열을 뒤집었을 때도 동일하다면 해당 문자열의 길이를 stack에 append해준다.

3. stack 내에서 가장 큰 값을 반환한다.

def solution(s):
    answer = 0
    stack=[]
    for i in range(len(s)): #1번
        for j in range(len(s)):
            word=s[i:j+1]
            if word==word[::-1]: #2번 : python에서 문자열을 뒤집을 때는 [::-1]을 사용한다.
                stack.append(j-i+1) #문제에서 문자열을 구하는 것이 아닌 길이를 구하는 것이 목적이기 때문에 문자열의 길이인 j-i+1을 stack에 넣어준다.
    answer=max(stack) #3번
    return answer
728x90
반응형