본문 바로가기

내 맘대로 알고리즘

가장 짧은 회문 구하기 ThePalindrome with java

 


1. 코드 : 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class ThePalindrome {
    public int find(String palind) {
        int result = 0;
        //abbe
        //aaca
        for(int i=0; i<palind.length(); i++) {
            boolean flag = true;
            for(int j=0; j<palind.length(); j++) {
                if(palind.length()+i-j<palind.length()&&palind.charAt(palind.length()+i-j-1)!=palind.charAt(j))
                {
                    flag = false;
                    break;
                }
            }
            if(flag == true) {
                result = palind.length() + i;
                break;
            }
        }
        return result;
    }
}
 
cs


2. 내가 생각한 풀이:






내가 생각한 풀이는 빈 박스를 두고, 빈 박스일 경우에 넘어가며, 양쪽 포인트를 1칸씩 이동시키며,

각 포인트가 지목하는 값이 같다면 회문이라는 경우로 하여 생각하게 되었습니다.