問題の分析
与えられた数字のうち、1文字を書き換えて作れる数字のうち、最も小さいものを求めなさい。
方針
与えられた数字が0の場合は1を返し、それ以外の場合は最も大きい桁の数字を0にすればOKです。
0が与えられた場合を例外的に扱わないといけないことに気付くのは難しいと思いますが、Exampleで与えられているので簡単になっています。
ソースコード
using System; using System.Collections.Generic; using System.Text; public class OneDigitDifference { public int getSmallest(int N) { if (N == 0) return 1; if (N.ToString().Length == 1) return 0; return int.Parse(N.ToString().Substring(1, N.ToString().Length - 1)); } }