Борьба с троллями

Сообщения
1,547
Реакции
271
Веб-сайт
tehadm.ru
Смысл задачи такой:
поступает предложение от тролля, и мы должны нейтрализовать угрозу, удалив из его предложения все глассные.

C-like:
func Disemvowel(comment string) string {

}

Гласные буквы в английском языке:
a, o, e, i, u, y

По условию задачи, почему-то требуется y в английском языке не считать глассной. Поэтому задачу будем решать по данному условию.
 
Последнее редактирование:
C-like:
package main

import (
    "bufio"
    "fmt"
    "os"
)

func main() {
    scanner := bufio.NewScanner(os.Stdin)
    _ = scanner.Scan()
    str := scanner.Text()
    fmt.Println(Disemvowel(str))
}

func Disemvowel(comment string) string {
    langEnglish := map[rune]bool{
        'a': true,
        'e': true,
        'i': true,
        'o': true,
        'u': true,
        'A': true,
        'E': true,
        'I': true,
        'O': true,
        'U': true,
    }
    result := []rune{}

    for _, r := range comment {
        if !langEnglish[r] {
            result = append(result, r)
        }
    }
    return string(result)
}

Подробнее:
Создаем карту гласных, которая позволяет проверить является ли символ глассным или нет.
C-like:
langEnglish := map[rune]bool{
        'a': true,
        'e': true,
        'i': true,
        'o': true,
        'u': true,
        'A': true,
        'E': true,
        'I': true,
        'O': true,
        'U': true,
    }

Создаем слайс рун для хранения символов без глассных.
C-like:
result := []rune{}

С помощью цикла перебираем каждый символ (руну) в строке comment. Если символ не найден в карте langEnglish, мы добавляем его в слайс result.
C-like:
for _, r := range comment {
        if !langEnglish[r] {
            result = append(result, r)
        }
    }

В итоге мы бреобразуем слайс рун в строку и возвращаем
C-like:
return string(result)
 
Последнее редактирование:
C-like:
func Disemvowel(comment string) string {
    var replacer = strings.NewReplacer(
        "a", "",
        "e", "",
        "i", "",
        "o", "",
        "u", "",
        "A", "",
        "E", "",
        "I", "",
        "O", "",
        "U", "",
    )
    return replacer.Replace(comment)
}
 
Назад
Сверху Снизу