슈콩

COS PRO 1급 JAVA 팰린드롬 문제 본문

카테고리 없음

COS PRO 1급 JAVA 팰린드롬 문제

shukong 2025. 12. 13. 21:13

 

 

[소스 코드]

import java.util.*;

public class Main {
    public boolean func_a(ArrayList<String> list, String s) {
		for (int i = 0; i < list.size(); i++)
			if (s.equals(list.get(i)))
				return true;
		return false;
	}

    public boolean func_b(String s) {
		int length = s.length();
		for (int i = 0; i < length / 2; i++)
			if (s.charAt(i) != s.charAt(length - i - 1))
				return false;
		return true;
	}
    
    public String func_c(ArrayList<String> palindromes, int k) {
        Collections.sort(palindromes);
        if (palindromes.size() < k)
        	return "\"NULL\"";
        else
        	return palindromes.get(k-1);
    }

    public String solution(String s, int k) {
        ArrayList<String> palindromes = new ArrayList<String>();
        int length = s.length();
        for (int startIdx = 0; startIdx < length; startIdx++) {
            for (int cnt = 1; cnt < length - startIdx + 1; cnt++) {
                String subStr = s.substring(startIdx, startIdx + cnt);
                if (func_b(subStr)) {
                	if (func_a(palindromes,subStr) == false)
                		palindromes.add(subStr);
                }
            }
        }

        String answer = func_c(palindromes,k);
        return answer;
    }
}