BOJ 10814 나이순 정렬

less than 1 minute read

  1. 변수

    class Person{
        int age;
        String name;
    }
       
    int N // 회원의 수
    ArrayList<Person> list; // Person들의 리스트
    
  2. 로직

    • Person을 모두 입력 받은 후, 나이 순 정렬

      • 나이가 같을 경우 먼저 가입한 순서로 정렬
  3. 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.StringTokenizer;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;
		
		int N = Integer.parseInt(br.readLine());
		
		ArrayList<Person> list = new ArrayList<Person>();
		for (int i = 0; i < N; i++) {
			st = new StringTokenizer(br.readLine());
			int age = Integer.parseInt(st.nextToken());
			String name = st.nextToken();
			list.add(new Person(age, name));
		}

		Collections.sort(list, new Comparator<Person>() {
			@Override
			public int compare(Person o1, Person o2) {
				return o1.age-o2.age;
			}
		});
		for (int i = 0; i < list.size(); i++) {
			System.out.println(list.get(i).toString());
		}
	}
	
	static class Person{
		int age;
		String name;
		public Person(int age, String name) {
			this.age = age;
			this.name = name;
		}
		
		@Override
		public String toString() {
			return this.age + " " + this.name;
		}
	}
}

Tags:

Categories:

Updated:

Leave a comment