Можно ли из букв слова a составить слово b, причем каждую букву можно использовать только один раз?
Входные данные
Слово a в первой строке, b - во второй, состоящих из английских букв.
Выходные данные
Вывести Ok при положительном ответе и No в противном случае.
Алгоритм решения задачи
- Для каждого символа из строки b ищем индекс в строке a;
- Если индекс равен -1(символа нет в строке), то прерываем цикл и выводим No
- Если символ найден то удаляем его из строки a по индексу.
Решение
using System;
class Program
{
static void Main(string[] args)
{
var a = Console.ReadLine();
var b = Console.ReadLine();
var result = "Ok";
for (int i = 0; i < b.Length; i++)
{
var symbol = b[i].ToString();
var index = a.IndexOf(symbol);
if (index == -1)
{
result = "No";
break;
}
else
{
a = a.Remove(index, 1);
}
}
Console.WriteLine(result);
}
}