@MAT_VEY

Как решить задачу?

Даны две строки строчных латинских символов: строка J и строка S. Символы, входящие в строку J, — «драгоценности», входящие в строку S — «камни». Нужно определить, какое количество символов из S одновременно являются «драгоценностями». Проще говоря, нужно проверить, какое количество символов из S входит в J.
Это разминочная задача, к которой мы размещаем готовые решения. Она очень простая и нужна для того, чтобы вы могли познакомиться с нашей автоматической системой проверки решений. Ввод и вывод осуществляется через файлы, либо через стандартные потоки ввода-вывода, как вам удобнее.

Формат ввода
На двух первых строках входного файла содержатся две строки строчных латинских символов: строка J и строка S. Длина каждой не превосходит 100 символов.

Формат вывода
Выходной файл должен содержать единственное число — количество камней, являющихся драгоценностями.

Вот мой код:
t = 0
a = input()
b = input()
for i in a:
    t += b.count(i)
print(t)

Выдаёт вроде ответ правильный, а компилятор пишет тесты не пройдены (неправильные ответы).
  • Вопрос задан
  • 2272 просмотра
Решения вопроса 2
Vindicar
@Vindicar
RTFM!
Вообще проблема в задании: фраза "какое количество символов из S входит в J" не содержит пояснения, могут ли быть повторы в строках S и J, и должны ли они учитываться. Я предполагаю, что повторы в J учитываться не должны, а повторы в S - должны.

В твоём коде, если в строке J есть повторяющиеся символы, код даст неправильный ответ. Пример:
a = 'AAB'
b = 'AcdefBfedc'

Твой код даст ответ 3, а не 2.

Попробуй проще - пройди по символам строки b, для каждого символа проверь, входит ли он в строку a.
Ответ написан
Комментировать
@MAT_VEY Автор вопроса
Я это понял так:
t = 0
a = input()
b = input()
for i in b:
if a.count(i) > 0:
t += 1
print(t)
И у меня всё получилось, спасибо!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы