0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AtCoder初心者 DailyTrainingメモ 2023/11/24

Last updated at Posted at 2023-11-24

ABC236 C-問題

236C.png

ポイント
急行の停まる駅を「defaultdict(int)」に格納します。
全ての駅(各停が止まる駅)を読み込んで、「defaultdict(int)」を参照し格納している値であれば、"Yes"を回答します。「Python:236C.py」

236C.py
from collections import defaultdict

N,M = map(int,input().split())

# リストで受け取る
S = list(map(str, input().split()))
T = list(map(str, input().split()))

# 連想配列に格納してカウントする
DIC = defaultdict(int)

# 急行の停まる駅を格納する
for c in T:
    DIC[c] += 1

# 駅名をループして 急行の停まる駅にヒットしたら Yes
for c in S:
    if DIC[c] == 1:
        print("Yes")
    else:
        print("No")

先人の方はどう解いているのか見ていたら、とてもシンプルに解いていました。
急行に停まる駅をsetに格納し、in セット で参照する解法でした。
とても勉強になりました。「Python:236C2.py」

236C2.py

N,M = map(int,input().split())
# リストで受け取る
S = list(map(str, input().split()))
# 急行停車駅は、setに格納する
T = set(map(str, input().split()))

# 駅名が set にヒットしたら Yes
for i in range(N):
    if S[i] in T:
        print("Yes")
    else:
        print("No")
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?