Size: a a a

2019 August 08

V

Viktor in SPb Python
Yehor Shamray
Всем привет,помогите с задачей. Задача: Даны два слова. Определить, можно ли составить второе слово из букв первого.
Например, из букв слова "касатка" можно составить слово "такса", а слово "касса" составить нельзя.
Объявите функцию puzzle(), которая получает два слова и возвращает логическое значение.
Можно сделать так
источник

BE

Bread Effect in SPb Python
Katya Leushina
Может слово из набора букв преобразовать в словарь типа "буква: сколько раз есть в слове". А затем добавить условие: для каждого k если v меньше или равно, то можно составить слово?
Можно
источник

KL

Katya Leushina in SPb Python
Bread Effect
Можно
Наверное не самый изящный вариант, но в шесть утра он родился первым
источник

MA

Maxim Afanasev in SPb Python
Ну так вариант с Counter - это оно и есть. Норм же. И вроде оптимально.
источник

SP

Stepan Potapov in SPb Python
а почему нельзя просто разбить оба слова на символы
и в цикле проверить,  есть ли буквы первого слова во втором?
если есть - ок
источник

SP

Stepan Potapov in SPb Python
Maxim Afanasev
Ну так вариант с Counter - это оно и есть. Норм же. И вроде оптимально.
согласен, выглядит красивее, чем я написал
если я вообще не ошибся
источник

MS

Maxim Smirnov in SPb Python
Stepan Potapov
а почему нельзя просто разбить оба слова на символы
и в цикле проверить,  есть ли буквы первого слова во втором?
если есть - ок
Является ли одно множество подмножеством другого?
источник

MA

Maxim Afanasev in SPb Python
Stepan Potapov
а почему нельзя просто разбить оба слова на символы
и в цикле проверить,  есть ли буквы первого слова во втором?
если есть - ок
O(m*n) вроде получается. С Counter не могу сходу оценить, но вроде меньше.
источник

SP

Stepan Potapov in SPb Python
Maxim Smirnov
Является ли одно множество подмножеством другого?
ну вот такое предположение, да
источник

MS

Maxim Smirnov in SPb Python
Stepan Potapov
ну вот такое предположение, да
Только использовать не set, а кортежи
источник

MS

Maxim Smirnov in SPb Python
If a in b
источник

MS

Maxim Smirnov in SPb Python
Задача решена?
источник

KL

Katya Leushina in SPb Python
я так понимаю, не все самые лаконичные варианты подходят из-за ситуации с повтором букв
источник

SP

Stepan Potapov in SPb Python
Maxim Smirnov
Задача решена?
это сарказм такой)? да, я предложил решение, может оно глупое, я и сам удивлен, что может сработать
источник

SP

Stepan Potapov in SPb Python
Katya Leushina
я так понимаю, не все самые лаконичные варианты подходят из-за ситуации с повтором букв
удалять букву, после совпадения, и заработает)
источник

MS

Maxim Smirnov in SPb Python
Stepan Potapov
это сарказм такой)? да, я предложил решение, может оно глупое, я и сам удивлен, что может сработать
Не, я серьезно
источник

MA

Maxim Afanasev in SPb Python
Stepan Potapov
удалять букву, после совпадения, и заработает)
Да, но как? В Python строки неизменямые.
источник

SP

Stepan Potapov in SPb Python
Maxim Afanasev
Да, но как? В Python строки неизменямые.
а где строки изменяемые=) ? - разбить, я же так и написал, разбить посимвольно
источник

MA

Maxim Afanasev in SPb Python
В Си
источник

KL

Katya Leushina in SPb Python
ну листом ее сделать (функция split вроде)
источник