파게로그

[백준 10814번] 나이순 정렬 본문

콤퓨타 왕왕기초/PS

[백준 10814번] 나이순 정렬

파게 2020. 11. 15. 13:13

문제 링크: 10814번 나이순 정렬

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

 

주의해야 할 사항에 대해 주석으로 달아두었다.

 

 

import java.util.*;

class Member implements Comparable<Member> {
// Comparable<T> 주의
    int age;
    String name;
    
    public Member(int age, String name) {
        this.age = age;
        this.name = name;
    }

    public String toString() {
        return age + " " + name;
        // 문자열 연결할 때, 문자를 연결하면 ASCII 코드값이 연결됨
        // ' '가 아니라 " "를 연결해야 함
    }
    
    @Override
    public int compareTo(Member m) {
        if (this.age < m.age) return -1;
        else if (this.age > m.age) return 1;
        else return 0;
    }
}

public class Main {
    public static void main(String[] args) {
        /* input */
        ArrayList<Member> list = new ArrayList<Member>();
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for (int i = 0; i < n; i++) {
            int age = sc.nextInt();
            String name = sc.next();
            Member m = new Member(age, name);
            list.add(m);
        }
        
        /* sort */
        Collections.sort(list);
        
        /* output */
        for (Member m : list) {
            System.out.println(m.toString());
            // 직접 출력하기보다는
            // class 만들 때부터 toString() 메서드 만들기
        }
    }
}

 

Comments