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?

More than 1 year has passed since last update.

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

Last updated at Posted at 2023-11-10

ABC260 B-問題

260B.png

ポイント
・リストの最大値とインデックスを取得する
・合格者の得点を「-1」にする

自分のスキルでは、高難度の問題なので色々な方の回答を参考にしました。

260B.py
N,X,Y,Z = map(int,input().split())
Sugaku = list(map(int, input().split()))
Eigo = list(map(int, input().split()))

# 合格者リスト
ans = []

for i in range(X):
    # Sugaku リストの最大値のインデックスを取得する
    Smax_IDX = Sugaku.index(max(Sugaku))

    # 合格者リストに格納する
    ans.append(Smax_IDX)

    # 合格者リストに格納したので、選考から外すために得点を -1 にする
    Sugaku[Smax_IDX] = -1
    Eigo[Smax_IDX] = -1

for i in range(Y):
    # Eigo リストの最大値のインデックスを取得する
    Emax_IDX = Eigo.index(max(Eigo))

    # 合格者リストに格納する
    ans.append(Emax_IDX)

    # 合格者リストに格納したので、選考から外すために得点を -1 にする
    Sugaku[Emax_IDX] = -1
    Eigo[Emax_IDX] = -1

Both = []
for i in range(N):
    Both.append(Sugaku[i] + Eigo[i])

for i in range(Z):
    # 数学+英語の得点を合わせたリストの最大値のインデックスを取得する
    Both_IDX = Both.index(max(Both))

    # 合格者リストに格納する
    ans.append(Both_IDX)

    # 合格者リストに格納したので、選考から外すために得点を -1 にする
    Both[Both_IDX] = -1

# 条件通り小さい値順にソートする
ans.sort()

for i in ans:
    # インデックスの値なのでプラス1する
    print(i + 1) 

ABC261 C-問題

261C.png

ポイント

  • 連想配列で入力されてくる文字をカウントする。
    使い方をマスターすれば、色んな場面で使えると思いました。
    ※C++ では、map を使っていた。
261C.py
from collections import defaultdict

N = int(input()) 

# 連想配列でカウントする
cnt = defaultdict(int)

for i in range(N):
    S = str(input())

    # その文字が初めて出現した場合
    if cnt[S] == 0:
        print(S)

    # 複数回出現した場合
    else:
        print(S + '(' + str(cnt[S]) + ')')
    
    # 忘れずにプラス1
    cnt[S] += 1
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?