백준 10942 팰린드롬? JAVA

sundays·2023년 1월 25일
0

문제

팰린드롬?

풀이

해당 문제는 펠린드롬을 찾는 문제이다. 펠린드롬이란 기러기 역삼역 우영우 처럼 앞으로 읽어도 거꾸로 읽어도 같은 문자를 말한다.
펠린드롬의 규칙은 다음과 같다

  1. 촉촉, 달달, 같은 문자처럼 같은 문자가 반복되는 경우도 펠린드롬 이다
	for (int i = 0; i < n; i++) {
		if (arr[i] == arr[i+1]) dp[i][i+1] = true;
	}
  1. 한 문자만 입력되는 경우에도 펠린드롬이라고 할수 있다
	for (int i = 0; i < n; i++) {
		dp[i][i] = true;
	]
  1. 첫문자와 끝 문자가 같은데, 사이의 문자까지 펠린드롬 이었던 문자인 경우가 펠린드롬이다. 역삼역 의 경우 역삼역 마지막 문자와 첫문자가 같고 사이에 있는 '삼' 이 펠린드롬이기 때문에 펠린드롬이라고 할 수 있다
	for (int i = n - 1; i >= 1; i--) {
    	for (int j = 1; j <= n; j++) {
        	if (arr[i] == arr[j] && dp[i+1][j-1]) {
            	dp[i][j] = true;
            }
        }
    }

전체 코드

전체 코드

profile
develop life

0개의 댓글