본문 바로가기
PS/BOJ

백준 11609 자바 - Class Time (BOJ 11609 JAVA)

by Nahwasa 2022. 1. 29.

문제 : boj11609

 

  order by last asc, first asc의 형태로 정렬하면 된다. 문자열을 입력 받아 띄어쓰기를 기준으로 나눌 줄 알고, 정렬하는 방법을 안다면 쉽게 풀 수 있다.

 

코드 : github

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

class Name implements Comparable<Name> {
    String first, last;
    public Name(String name) {
        StringTokenizer st = new StringTokenizer(name);
        first = st.nextToken();
        last = st.nextToken();
    }

    @Override
    public int compareTo(Name o) {
        if (this.last.compareTo(o.last) == 0)
            return this.first.compareTo(o.first);
        return this.last.compareTo(o.last);
    }
}

public class Main {
    private void solution() throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        Name[] arr = new Name[n];
        while (n-->0) {
            arr[n] = new Name(br.readLine());
        }
        Arrays.sort(arr);
        StringBuilder answer = new StringBuilder();
        for (Name name : arr) {
            answer.append(name.first).append(' ').append(name.last).append('\n');
        }
        System.out.print(answer);
    }

    public static void main(String[] args) throws Exception {
        new Main().solution();
    }
}

댓글