結果
問題 | No.267 トランプソート |
ユーザー |
![]() |
提出日時 | 2015-08-21 22:39:04 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 130 ms / 1,000 ms |
コード長 | 2,264 bytes |
コンパイル時間 | 4,313 ms |
コンパイル使用メモリ | 89,496 KB |
実行使用メモリ | 41,928 KB |
最終ジャッジ日時 | 2024-07-18 11:45:47 |
合計ジャッジ時間 | 7,395 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
import java.util.*;import java.io.*;import java.awt.geom.*;import java.math.*;public class No0267 {static final Scanner in = new Scanner(System.in);static final PrintWriter out = new PrintWriter(System.out,false);static void solve() {int n = in.nextInt();ArrayList<Integer> d = new ArrayList<>();ArrayList<Integer> c = new ArrayList<>();ArrayList<Integer> h = new ArrayList<>();ArrayList<Integer> s = new ArrayList<>();HashMap<Character, Integer> map = new HashMap<>();map.put('A',1);map.put('T',10);map.put('J',11);map.put('Q',12);map.put('K',13);for (int i=0; i<n; i++) {String str = in.next();char m = str.charAt(0);char x = str.charAt(1);if (m == 'D') {if ('2' <= x && x <= '9') d.add(x - '0');else d.add(map.get(x));}else if (m == 'C') {if ('2' <= x && x <= '9') c.add(x - '0');else c.add(map.get(x));}else if (m == 'H') {if ('2' <= x && x <= '9') h.add(x - '0');else h.add(map.get(x));}else {if ('2' <= x && x <= '9') s.add(x - '0');else s.add(map.get(x));}}HashMap<Integer,Character> map2 = new HashMap<>();map2.put(1,'A');map2.put(10,'T');map2.put(11,'J');map2.put(12,'Q');map2.put(13,'K');Collections.sort(d);Collections.sort(c);Collections.sort(h);Collections.sort(s);StringBuilder sb = new StringBuilder();for (int i : d) {sb.append("D");if (2 <= i && i <= 9) sb.append(i);else sb.append(map2.get(i));sb.append(" ");}for (int i : c) {sb.append("C");if (2 <= i && i <= 9) sb.append(i);else sb.append(map2.get(i));sb.append(" ");}for (int i : h) {sb.append("H");if (2 <= i && i <= 9) sb.append(i);else sb.append(map2.get(i));sb.append(" ");}for (int i : s) {sb.append("S");if (2 <= i && i <= 9) sb.append(i);else sb.append(map2.get(i));sb.append(" ");}sb.deleteCharAt(sb.length()-1);out.println(sb);}public static void main(String[] args) {long start = System.currentTimeMillis();solve();out.flush();long end = System.currentTimeMillis();//trace(end-start + "ms");in.close();out.close();}static void trace(Object... o) { System.out.println(Arrays.deepToString(o));}}