개발 공부~

[백준 - 10814] 나이순 정렬 .java 본문

코딩테스트/백준

[백준 - 10814] 나이순 정렬 .java

머밍 2025. 5. 8. 00:06

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

 

나이와 이름을 입력받고 같이 출력하기 때문에 Memeber 클래스 생성

먼저 나이순으로 정렬하며 나이가 같으면 가입한 순 즉, 입력한 순으로 출력해야한다 

-> 입력 순서도 같이 클래스에 저장하여 한번에 비교할 수 있도록 했다

두 기준 다 오름차순임

import java.util.*;
class Member{
    public Member(int age, String name, int index) {
        this.name = name;
        this.age = age;
        this.index = index;
    }

    int age;
    String name;
    int index;

}
public class boj{

    public static void main(String[] args) {
        Scanner sc= new Scanner(System.in);
        int n=sc.nextInt();
        Member[] mem  = new Member[n];
        for(int i=0;i<n;i++){
            mem[i] = new Member(sc.nextInt(),sc.next(),i);
        }

        Arrays.sort(mem, new Comparator<Member>() {
            @Override
            public int compare(Member o1, Member o2) {
                if(o1.age == o2.age){
                    return o1.index - o2.index;
                }
                return o1.age-o2.age;
            }
        });

        for(Member m:mem){
            System.out.println(m.age+" "+m.name);
        }

    }

}