AtCoder Beginner Contest

【pythonでABC189を解説】A - Slot

問題概要

問題ページ

問題文

あなたはスロットマシーンで遊んでいます。

スロットを回した結果は \(3\) 文字の英大文字 \(C_1,C_2,C_3\) で表され、これらが全て同じ文字であるとき当たりです。

当たりかどうか判定してください。

制約

  • \(C_i\) は英大文字

問題の考察

if文で全ての入力値が同値かどうかで分岐すれば解答できる問題。

ACコードでは標準入力を配列にしているが、変数を\(3\)つ用意して読み込んでも良い。

その場合は、次のようになる。

c1, c2, c3 = list(map(int, input().rstrip('\n').split()))

if文で\(3\)つ以上の変数が同値かどうか判別する時は

if c[0] == c[1] == c[2]:

のように記述できる。

たびすけ
if文の分岐で解答できる基本的な問題です!

ACコード

import sys


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    c = list(str(input().rstrip('\n')))
    print("Won" if c[0] == c[1] == c[2] else "Lost")


if __name__ == '__main__':
    solve()

別解

collections.Counterを使って解答することもできます。

import sys
import collections


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    c = collections.Counter(str(input().rstrip('\n')))
    print("Won" if len(c) == 1 else "Lost")


if __name__ == '__main__':
    solve()

-AtCoder Beginner Contest
-