結果
問題 | No.267 トランプソート |
ユーザー |
|
提出日時 | 2022-10-24 14:35:25 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 28 ms / 1,000 ms |
コード長 | 2,085 bytes |
コンパイル時間 | 192 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 11,008 KB |
最終ジャッジ日時 | 2024-07-02 17:09:14 |
合計ジャッジ時間 | 1,446 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
from enum import IntEnumclass Suit(IntEnum):diamond = 1clover = 2heart = 3spade = 4@classmethoddef factory(cls, suit: str):match suit:case "D":return cls.diamondcase "C":return cls.clovercase "H":return cls.heartcase "S":return cls.spadedef suit_abb(self):match self:case 1:return "D"case 2:return "C"case 3:return "H"case 4:return "S"class Card:def __init__(self, card: str) -> None:self.suit = Suit.factory(card[0])match card[1]:case "T":self.number = 10case "J":self.number = 11case "Q":self.number = 12case "K":self.number = 13case "A":self.number = 1case other_num:self.number = int(other_num)def str_num(self) -> str:match self.number:case 1:return "A"case 10:return "T"case 11:return "J"case 12:return "Q"case 13:return "K"case other_num:return str(other_num)def __eq__(self, __o: object) -> bool:return self.suit == __o.suit and self.number == __o.numberdef __ne__(self, __o: object) -> bool:return not self.__eq__(__o)def __lt__(self, __o) -> bool:if self.suit < __o.suit:return Trueif self.suit == __o.suit:return self.number < __o.numberreturn Falsedef __str__(self) -> str:return self.suit.suit_abb() + self.str_num()def main():input()cards = list(map(Card, input().split()))cards.sort()print(*cards)if __name__ == "__main__":main()