0
0

リアルタイムに解けた問題

A - Count Takahashi

問題文

文字列が$N$個与えられます。
$i$番目($1\leq i \leq N$)に与えられる文字列$S_{i}$はTakahashiAokiのどちらかと等しいです。
$S_{i}$がTakahashiと等しい$i$がいくつあるか求めてください。

制約

  • $1\leq N \leq 100$
  • $N$は整数
  • $S_{i}$はTakahashiAokiのいづれか($1\leq i \leq N$)

アルゴリズム

リストからfor文で一つづつ要素を文字列を取り出し、それがTakahashiと等しければ、カウンター変数countを1増やす。
最後にcountを出力。

ソースコード

N = int(input())

S = [input() for _ in range(N)]

count = 0

for s in S:
  if s == 'Takahashi':
    count += 1

print(count)

B - Couples

問題文

$2N$人の人が横一列に並んでおり、左から$i$番目の人は色$A_{i}$の服を着ています。ここで、服の色は$1$から$N$の$N$色であり、それぞれの色についてちょうど$2$人の人がその色の服を着ています。

$i = 1,2,...,N$のうち、以下の条件を満たすものは何通りあるか求めてください。

  • 色$i$の服を着た二人の人の間にはちょうど一人いる。

制約

  • $2\leq N \leq 100$
  • $1\leq A_{i} \leq N$
  • $A$には$1$以上$N$以下の整数全てがそれぞれ$2$個づつ含まれる
  • 入力される数値は全て整数

アルゴリズム

同じ服の色を着た人の間にいる人数はちょうど1人であるのが何通りであるかを知りたいので、for文の処理で、$i$番目と$i+2$番目の要素が同じとき、カウンター変数countを1増やす。
最後にcountを出力。

ソースコード

N = int(input())

A = list(map(int, input().split()))

count = 0

for i in range(2*N -2):
  if A[i] == A[i+2]:
    count += 1

print(count)
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