Одна из причин, по которой вы изучаете материал в схеме, заключается в том, что он обучает вас самим создавать полезные строительные блоки, а затем соединять эти строительные блоки.
В этом случае общий подход, который я бы рекомендовал, заключается внаписать функцию:
(string-contains str ch)
, которая возвращает #t
или #f
в зависимости от того, содержит ли str
символ ch
, и затем использовать ее для определения функции:
(unique-chars str)
, который возвращает строку уникальных символов в str
(вы сканируете str
, выстраиваете свой ответ и в каждой точке видите, находится ли следующий символ в строке ответа, которую вы строите, иесли нет, добавьте его в строку ответа).
Тогда вам нужна только функция
(string-length (unique-chars str))