유블로그

[프로그래머스] 가장긴팰린드롬 Java 본문

알고리즘

[프로그래머스] 가장긴팰린드롬 Java

yujeong kang 2021. 1. 31. 23:32

[프로그래머스] level3 가장긴팰린드롬

 

한 30분정도 걸렸는데

하.. 효율성 한 개가 시간초과인데 도저히 줄일 방법을 모르겠다

일단 올려놓고 생각해봐야한다............................................................................................

class Solution {
	public int solution(String s) {
		int answer = 1;
		
		int len = s.length();
		while(true) {
			if(len == 1) break;
			
			for (int i = 0; i < s.length()-1; i++) {
				if(i+len > s.length()) break;
				String slice = s.substring(i, i+len);
				int half = slice.length()/2;
				int idx1 = 0, idx2 = slice.length()-1;
				boolean success = true;
				while(true) {
					if(idx1 > half) break;
					if(slice.charAt(idx1) != slice.charAt(idx2)) {
						success = false;
						break;
					}
					
					idx1++;
					idx2--;
				}
				
				if(success) {
					return slice.length();
				}
			}
			
			len--;
		}
		
		return answer;
	}
}