-문제: https://www.acmicpc.net/problem/10942
문자열 뒤집어서 생각하면 되겠지라고 단순하게 여겼는데, 생각보다 어려웠던 문제. dp문제이니 dp원리로 푸는 연습 꾸준히 해야할 것 같다
[파이썬] 백준 10942. 팰린드롬?
왜 동적 프로그래밍 문제인지를 이해하는 것부터 어려움을 겪었던 문제였다!
velog.io
이해한 원리로는

- start부터 end까지 팰린드롬인지 확인하려고 할 때, 문자열 start+1 부터 end-1까지 팰린드롬이라면 start와 end만 비교하면 팰린드롬인지 알 수 있다.
- 즉, 어떤 문자열이 팰린드롬인지 확인하려면 양 끝의 문자가 같은지를 확인하고 양 끝단을 제외한 문자열이 팰린드롬인지 확인하면 된다
따라서, 어떤 문자열이 팰린드롬인지를 판단하는 과정은 다음과 같다.
- 양 끝의 문자가 다르면 -> 팰린드론 아님
- 양끝의 문자가 같을 때, 가운데 문자열이
-팰린드롬이라면 팰린드롬
-팰린드롬이 아니라면 팰린드론 아님
- 가운데 문자열이 팰린드롬인지 아닌지 모른다면 알 때까지 문자열의 길이를 앞뒤로 하나씩 줄이면서 위의 과정을 반복한다
-> 문자열의 범위를 줄여가면서 같은 과정을 계속 반복한다는 점에서 DP 문제라고 할 수 있다
-정답풀이:

'백준 > DP' 카테고리의 다른 글
[코딩테스트] 백준 17070번: 파이프 옮기기1 (0) | 2022.01.13 |
---|---|
[코딩테스트] 백준 1915번: 가장 큰 정사각형 (0) | 2022.01.11 |
[코딩테스트] 백준 11660번: 구간 합 구하기 5 (0) | 2022.01.10 |
[코딩테스트] 백준 9184번: 신나는 함수 실행 (0) | 2022.01.10 |
[코딩테스트] 9252번: LCS2 (0) | 2022.01.09 |