백준 2204 java

magicdrill·2024년 9월 25일

백준 문제풀이

목록 보기
447/673

백준 2204 java

java에서 sort와 compare를 사용해봤다.

Collections.sort(컨테이너, new Comparator<타입>(){
@Override
public int compare(A, B)
{
.....
}
});

형태이다. 이때 결과는 작으면 -1, 같으면 0, 크면 1로 나온다.

import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;
import java.util.Vector;

public class bj2204 {
    static Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        int n;

        while(true)
        {
            n = scanner.nextInt();
            if(n == 0)
            {
                break;
            }
            else
            {
                Vector<String> data = inputData(n);
                System.out.println(findAnswer(data));
            }
        }

        scanner.close();
    }

    public static Vector<String> inputData(int n)
    {
        Vector<String> data = new Vector<>();
        int i;
        String temp;

        for(i = 0; i < n; i++)
        {
            temp = scanner.next();//공백 포함 안함
            data.add(temp);
        }

        return data;
    }

    public static String findAnswer(Vector<String> data)
    {
        String answer = "";
        int i;

//        for(String temp : data)
//        {
//            System.out.print(temp +  " ");
//        }
        Collections.sort(data, new Comparator<String>() {
            @Override
            public int compare(String s1, String s2) {
                String lowerS1 = s1.toLowerCase();
                String lowerS2 = s2.toLowerCase();
                int result = lowerS1.compareTo(lowerS2);

                if(result == 0)//소문자가 같으면
                {
                    return s1.compareTo(s2);
                }
                else
                {
                    return result;
                }
            }
        });
        answer = data.get(0);

        return answer;
    }
}

0개의 댓글