IT. Programming

[백준] 1157 문제풀이(실패)

Zpoxic 2021. 11. 16. 15:54

개인 테스트 시에는 정상적으로 나오는 것으로 보이는데...

 

백준에서는 실행해본 모든 결과는 오답이였습니다.

 

런타임이 길어서인지도 모르겠네요.

import java.util.*;
import java.util.stream.Collectors;

class Solution{
    public char solution(String s){
        char answer=' ';
        String s_clone_upper = s.toUpperCase();

        Set<Character> set = new LinkedHashSet<>();
        ArrayList<Character> compare_char = new ArrayList<>();

        for(int i=0;i<s.length();i++){
            set.add(s_clone_upper.charAt(i));
            compare_char.add(s_clone_upper.charAt(i));
        }

        List<Character> setS = set.stream().collect(Collectors.toList());;

        if(setS.size()==1){
            return setS.get(0);
        }

        ArrayList<Integer> compare_count = new ArrayList<>();
        String[] result = new String[setS.size()];
        int cnt=0;
        for(int j=0;j<setS.size();j++){
            for(int k=0;k<compare_char.size();k++){
                if(setS.get(j)==compare_char.get(k)){
                    cnt+=1;
                }
                else{

                }
            }
            result[j] = cnt+setS.get(j).toString();
            cnt=0;
        }

        Arrays.sort(result, Collections.reverseOrder());

        if(result[0].charAt(0) == result[1].charAt(0)){
            answer = '?';
        }
        else{
            answer = result[0].charAt(1);
        }

        return answer;
    }
}

public class Main {
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        String s = scan.nextLine();

        Solution sol = new Solution();

        char result = sol.solution(s);

        System.out.println(result);
    }
}