結果
問題 |
No.8042 本棚
|
ユーザー |
|
提出日時 | 2024-06-16 19:53:28 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 168 ms / 2,000 ms |
コード長 | 2,018 bytes |
コンパイル時間 | 3,171 ms |
コンパイル使用メモリ | 80,796 KB |
実行使用メモリ | 42,728 KB |
最終ジャッジ日時 | 2024-06-16 19:53:40 |
合計ジャッジ時間 | 10,426 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 24 |
ソースコード
import java.util.*; import java.lang.*; import java.io.*; class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); List<Book> bookList = new ArrayList<>(); for (int i=0; i<n; i++) { String title = sc.next(); String numberStr = sc.next(); int number = 0; switch (numberStr) { case "iti": number = 1; break; case "ni": number = 2; break; case "san": number = 3; break; case "yon": number = 4; break; } bookList.add(new Book(title , number , numberStr)); } Collections.sort(bookList , new BookComparator()); for (Book book : bookList) { System.out.println(book.getTitle() + " " + book.getNumberStr()); } } } class Book{ private String title; private int number; private String numberStr; public Book(String title , int number , String numberStr){ this.title = title; this.number = number; this.numberStr = numberStr; } public String getTitle(){ return this.title; } public int getNumber(){ return this.number; } public String getNumberStr(){ return this.numberStr; } } class BookComparator implements Comparator<Book>{ @Override public int compare(Book book1 , Book book2){ if(book1.getTitle().compareTo(book2.getTitle()) == 0){ if(book1.getNumber() > book2.getNumber()){ return 1; }else if(book1.getNumber() < book2.getNumber()){ return -1; } }else{ return book1.getTitle().compareTo(book2.getTitle()); } return 0; } }