• このエントリーをはてなブックマークに追加

TopCoder

スポンサードリンク

問題

Intの配列AとBが与えられる。

  • 等しいなら”EQUAL”、
  • AがBのサブセットなら”LESS”、
  • BがAのサブセットなら”GREATER”、
  • それ以外なら”INCOMPARABLE”と返す。

方針

setを使う. サブセットは < で比較するのを始めて知った. issubset というメソッドもあるらしい.

回答

class SetPartialOrder:
    def compareSets(self, a, b):
        a = set(a)
        b = set(b)

        if a == b:
            return "EQUAL"
        elif a < b:
            return "LESS"
        elif a > b:
            return "GREATER"
        else:
            return "INCOMPARABLE"