結果
問題 | No.539 インクリメント |
ユーザー |
![]() |
提出日時 | 2019-06-16 03:54:41 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
RE
|
実行時間 | - |
コード長 | 972 bytes |
コンパイル時間 | 91 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 12,032 KB |
最終ジャッジ日時 | 2024-11-21 19:53:50 |
合計ジャッジ時間 | 1,184 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | RE * 3 |
ソースコード
# -*- coding: utf-8 -*-import re# 1. 入力情報取得.N = int(input())# 2. 数値をインクリメント.for i in range(N):ans = str(input())# 2-1. 数値抽出.# yuki2006# -> 2007a = re.sub(r'\D', '', ans)if len(a) == 0:print(ans)continue# 2-2. 前ゼロの個数チェック.lb, lz = len(a), len(str(int(a)))zero = lb - lz# 2-3. 桁上がりのチェック.la = len(str(int(a) + 1))# 2-4. 数値の置き換え.a = str(int(a) + 1)a = a.zfill(la + zero)j = 0out = []for v in list(ans):if v.isdigit():out.append(a[j])j = j + 1# 2-5. 桁上がりは, "0" を 追加.if la > lb and j == len(a) - 1:out.append("0")j = j + 1else:out.append(v)# 2-5. 2-4. の for文 が終了してしまい, "0" の 追加が漏れているか確認.if j < len(a):out.append("0")# 2-6. 出力.out = "".join(out)print(out)