問題概要
問題ページ
-
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()