[백준] 10942 팰린드롬? - python 파이썬
·
코딩테스트/백준
문제 팰린드롬이란?앞에서 부터 읽을 때랑 끝에서 부터 읽을때 똑같은 것 , 회문 이 문제는 시간을 최대한 최적화하는게 관건인 문제이다. 범위를 보면 알겠지만 N의 범위는 2000인 반면에 M의 범위가 100만으로 굉장히 큰편이다. 그래서 100만번 동안 2000개를 확인하면 무조건 시간초과가 나기때문에 어떻게 처리를 해야할지 머리가 아팠던 문제이다.. 하지만 생각의 전환을 해서 미리 최대 길이 2000의 배열에서 발생할 수 있는 부분배열을 전부 확인해두면 시간 복잡도가 100만번 * 2000이 아니라 2000개를 확인 + 100만이 되므로 시간을 줄일 수 있다. 그러면 어떻게 모든 부분배열의 경우의 수를 구하는가? 바로 dp 를 통해서 전부 확인해주면 된다. dp[s][e]가 1이면 s,e..