PS/BOJ

BOJ 10814 나이순 정렬

모달조아 2021. 7. 14. 07:16

BOJ 10814 나이순 정렬

자바를 이용하여 처음으로 코딩테스트 문제를 풀어보았다.

- 문제 링크

https://www.acmicpc.net/problem/10814

- 문제 해설

정렬 알고리즘을 이용한 간단한 문제이다.
해결해야 하는 점은 나이가 같을 시에 순서가 뒤바뀌지 않도록 해야하는 것이다.
compare 메소드를 재정의하여 풀었는데, 나이끼리만 비교하여 나이가 같을 시에 입력된 순서대로 정렬되도록 하였다.

- 코드 보기

import java.io.*;
import java.util.*;

public class Main
{
    static int n;

    public static void main(String[] args) throws IOException
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;
        n = Integer.parseInt(br.readLine());
        String member[][] = new String[n][2];

        for (int i = 0; i < n; i++)
        {
            st = new StringTokenizer(br.readLine());
            member[i][0] = st.nextToken();
            member[i][1] = st.nextToken();
        }

        Arrays.sort(member, new Comparator<String[]>()
        {
            public int compare(String[] s1, String[] s2)
            {
                return Integer.parseInt(s1[0]) - Integer.parseInt(s2[0]);
            }
        });

        for(int i=0; i<n; i++)
        {
            System.out.println(member[i][0]+' '+member[i][1]);
        }
    }
}

분명 틀린 것이 없는데 자꾸 컴파일 에러가 났었었다. 이유는 백준에서 java로 제출할 시에 class 이름을 Main으로 해야만 한다는 사실을 몰랐었기 때문이다.