結果
問題 |
No.267 トランプソート
|
ユーザー |
![]() |
提出日時 | 2019-03-26 08:12:03 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 938 bytes |
コンパイル時間 | 10,721 ms |
コンパイル使用メモリ | 235,620 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-11 01:13:24 |
合計ジャッジ時間 | 11,587 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
package main import ( "fmt" "sort" ) func main() { var n int _, _ = fmt.Scan(&n) type card struct { s string // 元の字 m, n int // マーク(1: D, 2: C, 3: H, 4: S), 数字(1: A, 2~9: 2~9, 10: T, 11: J, 12: Q, 13: K) } cards := make([]card, n) s := "" for i := range cards { _, _ = fmt.Scan(&s) cards[i].s = s switch s[0] { case 'D': cards[i].m = 1 case 'C': cards[i].m = 2 case 'H': cards[i].m = 3 case 'S': cards[i].m = 4 } switch s[1] { case 'A': cards[i].n = 1 case 'T': cards[i].n = 10 case 'J': cards[i].n = 11 case 'Q': cards[i].n = 12 case 'K': cards[i].n = 13 default: cards[i].n = int(s[1] - '0') } } sort.Slice(cards, func(i, j int) bool { return cards[i].m < cards[j].m || (cards[i].m == cards[j].m && cards[i].n < cards[j].n) }) for i, c := range cards { if i != 0 { fmt.Print(" ") } fmt.Print(c.s) } fmt.Println() }