結果
問題 | No.267 トランプソート |
ユーザー | htensai |
提出日時 | 2019-11-23 15:27:24 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 136 ms / 1,000 ms |
コード長 | 1,462 bytes |
コンパイル時間 | 2,219 ms |
コンパイル使用メモリ | 78,212 KB |
実行使用メモリ | 54,260 KB |
最終ジャッジ日時 | 2024-10-11 06:58:37 |
合計ジャッジ時間 | 6,080 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
import java.util.*; public class Main { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); Card[] arr = new Card[n]; for (int i = 0; i < n; i++) { arr[i] = new Card(sc.next()); } Arrays.sort(arr); StringBuilder sb = new StringBuilder(); for (int i = 0; i < n; i++) { if (i != 0) { sb.append(" "); } sb.append(arr[i]); } System.out.println(sb); } static class Card implements Comparable<Card> { String card; char mark; char number; int value; public Card(String card) { this.card = card; mark = card.charAt(0); number = card.charAt(1); if (number >= '2' && number <= '9') { value = number - '0'; } else if (number == 'A') { value = 1; } else if (number == 'T') { value = 10; } else if (number == 'J') { value = 11; } else if (number == 'Q') { value = 12; } else if (number == 'K') { value = 13; } if (mark == 'C') { value += 100; } else if (mark == 'H') { value += 200; } else if (mark == 'S') { value += 300; } } public int compareTo(Card another) { return value - another.value; } public String toString() { return card; } } }