問題文
- 「一番最初に削除する場所を固定してから貪欲」を全箇所で試す
- 答えが 0 の場合は別処理
- LINQ だと solve 関数のような一個前の値を見る系の処理が扱いづらいのが残念
public class GearsDiv2 {
public int solve(String s)
{
int ans = 1;
for (int i = 1; i < s.Length - 1; i++)
{
if (s[i] == s[i + 1])
{
ans++;
i++;
}
}
return ans;
}
public int getmin(string Directions)
{
int n = Directions.Length;
int ans = int.MaxValue;
if (!(Directions + Directions).Contains("RR") &&
!(Directions + Directions).Contains("LL")) return 0;
for (int i = 0; i < n; i++)
{
Directions = Directions.Substring(1) + Directions[0];
ans = Math.Min(ans, solve(Directions));
}
return ans;
}
}