AtCoder Beginner Contest

【pythonでABC191を解説】B - Remove It

問題概要

問題ページ

問題文

長さ \(N\) の整数列 \(A\) と整数 \(X\) が与えられます。
\(A\) から \(X\) と等しい要素を全て取り除き、残った要素をそのままの順序で並べた数列 \(A'\) を出力してください。

制約

  • \(1 \le N \le 10^5\)
  • \(1 \le X \le 10^9\)
  • \(1 \le A_i \le 10^9\)
  • 入力は全て整数

問題の考察

与えられた整数列から一定の整数を取り除いた整数列を出力する問題。

与えられた整数列とは別のlistを作成しておき、for文で各\(A_i\)を確認して\(X\)でなければlistに追加。

最後に作成したlistを出力すれば良い。

たびすけ
もうちょっとスマートなコーディングがありそう・・・

ACコード

import sys


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    n, x = list(map(int, input().rstrip('\n').split()))
    a = list(map(int, input().rstrip('\n').split()))
    ans = []
    for v in a:
        if v != x:
            ans.append(v)
    print(*ans)


if __name__ == '__main__':
    solve()

-AtCoder Beginner Contest
-