結果
問題 | No.267 トランプソート |
ユーザー |
![]() |
提出日時 | 2016-05-13 13:19:12 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 59 ms / 1,000 ms |
コード長 | 2,406 bytes |
コンパイル時間 | 2,293 ms |
コンパイル使用メモリ | 91,524 KB |
実行使用メモリ | 50,808 KB |
最終ジャッジ日時 | 2024-10-05 14:17:34 |
合計ジャッジ時間 | 4,497 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
/* package whatever; // don't place package name! */import java.util.*;import java.lang.*;import java.io.*;/* Name of the class has to be "Main" only if the class is public. */class Ideone{public static void main (String[] args) throws java.lang.Exception{// your code goes hereBufferedReader br = new BufferedReader(new InputStreamReader(System.in));int n = Integer.parseInt(br.readLine());String[] lines = br.readLine().split(" ");ArrayList<Trump> trumps = new ArrayList<Trump>();for(String st:lines){trumps.add(new Trump(st));}Collections.sort(trumps,(a,b)->{return a.compare(b);});StringBuilder sb = new StringBuilder();for(Trump trump:trumps){if(sb.length()!=0){sb.append(" ");}sb.append(trump.toString());}System.out.println(sb);}public static class Trump{public int mark; //D:0,C:1,H:2,S:3public int number; //A:1,T:10,J:11,Q:12,K:13public String str;public Trump(String st){this.str = st;char c1 = st.charAt(0);switch(c1){case 'D':mark = 0;break;case 'C':mark = 1;break;case 'H':mark = 2;break;case 'S':mark = 3;break;default:break;}char c2 = st.charAt(1);switch(c2){case 'A':number = 1;break;case 'T':number = 10;break;case 'J':number = 11;break;case 'Q':number = 12;break;case 'K':number = 13;break;default:number = (int)(c2-'0');break;}}public int compare(Trump other){if(this.mark != other.mark){return this.mark - other.mark;}else{return this.number - other.number;}}public String toString(){return this.str;}}}