-
[Python] 프로그래머스 / 가장 긴 팰린드롬코딩테스트 2024. 9. 30. 18:53
이걸 DP가?
이 그림을 유심히 봐보면 알 수 있다. 그러므로, string의 i부터 j까지가 팰린드롬인지를 저장하는 dp matrix를 만들어서, dp를 해내가면 된다!
정답 코드
def solution(s): n = len(s) dp = [[False] * n for _ in range(n)] for i in range(n) : dp[i][i] = True answer = 1 for i in range(n-1) : if s[i] == s[i+1] : dp[i][i+1] = True answer = 2 for length in range(3, n+1) : for i in range(n-length+1) : j = i + length - 1 if s[i] == s[j] and dp[i+1][j-1] : dp[i][j] = True answer = max(answer, length) return answer
'코딩테스트' 카테고리의 다른 글
[Python] 프로그래머스 / 2024 KAKAO WINTER INTERNSHIP / 주사위 고르기 (1) 2024.10.01 [Python] 프로그래머스 / N으로 표현 (0) 2024.09.30 [Python] 프로그래머스 / 2019 카카오 개발자 겨울 인턴십 / 징검다리 건너기 (0) 2024.09.28 [Python] 프로그래머스 / 월간 코드 챌린지 시즌2 / 110 옮기기 (0) 2024.09.27 [Python] 프로그래머스 / 2022 KAKAO BLIND RECRUITMENT / 파괴되지 않은 건물 (0) 2024.09.23