結果
問題 | No.267 トランプソート |
ユーザー |
![]() |
提出日時 | 2016-01-11 11:21:56 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 66 ms / 1,000 ms |
コード長 | 1,426 bytes |
コンパイル時間 | 5,061 ms |
コンパイル使用メモリ | 82,568 KB |
実行使用メモリ | 37,776 KB |
最終ジャッジ日時 | 2024-09-19 18:45:51 |
合計ジャッジ時間 | 6,069 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
import java.io.*;import java.util.*;class Main {public static void out (Object o) {System.out.println(o);}public static int getNum (char c) {return c == 'A' ? 1 : c == 'T' ? 10 : c == 'J' ? 11 : c == 'Q' ? 12 : c == 'K' ? 13 : c - '0';}public static int getSuitNum (char c) {return c == 'D' ? 0 : c == 'C' ? 1 : c == 'H' ? 2 : 3;}public static boolean comp (String s , String t) {char s0 = s.charAt(0);char t0 = t.charAt(0);if (s0 != t0) {return getSuitNum(s0) > getSuitNum(t0);}char s1 = s.charAt(1);char t1 = t.charAt(1);return getNum(s1) > getNum(t1);}public static void sort (String[] cards) {int len = cards.length;String[] ret = new String[len];for (int i = 0; i < len; i++) {String min = "";int minNum = -1;for (int j = 0; j < len; j++) {if (cards[j].equals("none")) continue;if (minNum == -1 || comp(min , cards[j])) {min = cards[j];minNum = j;}}ret[i] = min;cards[minNum] = "none";//out(Arrays.toString(cards));}System.out.print(ret[0]);for (int i = 1; i < len; i++)System.out.print(" " + ret[i]);out("");}public static void main (String[] args) throws IOException {BufferedReader br =new BufferedReader(new InputStreamReader(System.in));int n = Integer.parseInt(br.readLine());String[] cards = br.readLine().split(" ");sort(cards);}}