現在の目標
今日のおはなし
結論
問題文の入出力例以外でもテストケースを考えよう.
解いた問題
入出力例だけでは穴がある
入出力例では Pass するのに, 提出したら WA となりました.
WA.py
# coding: utf-8
N, M = map(int, input().split())
val = ",".join([input().replace(" ",",") for _ in range(M)])
print(val)
for i in range(1, N+1):
print(val.count(str(i)))
下記で通りました.
AC.py
# coding: utf-8
N, M = map(int, input().split())
lst=[]
for _ in range(M):
lst += input().split()
for i in range(1, N+1):
print(lst.count(str(i)))
文字列の連結で処理しようとすると, N が一桁であれば所望の値が出力されますが, 二桁になるとダメですね. たとえば, "12" という文字は 1 と 2 が一つずつあると判断されてしまいます.
今回はすぐ気づいたのですが, 提出前のテストで気づきたかったところ. テストのコツとかあるんでしょうか. とりあえず, 境界値や, 入出力例以外の条件でテストしてからコードを提出するのがよさそうですかね.
というか, AtCoder のテストケース公開されないかな..
むすび
paiza のレッスン でも眺めて, 勉強しよう.