cybersecurity · intermediate · ~15 min · safe pentest lab

Longest consonant run in a domain

Measure the longest consonant run — algorithmically-generated domains pile up consonants.

Challenge

Malware DGAs produce unpronounceable domains. Implement one signal:

int longest_consonant_run(const char *label);

Return the longest run of consecutive consonant letters (any letter that is not a/e/i/o/u, case-insensitive). Digits, '-', '.', and vowels break the run.

Input format

A domain label string.

Output format

Longest consonant-run length.

Constraints

Case-insensitive; non-letters break runs.

Starter code

#include <stddef.h>
/* Longest run of consecutive consonant letters (a letter that is not a,e,i,o,u; case-insensitive).
   Any non-letter (digit, '-', '.') breaks the run. */
int longest_consonant_run(const char *label){ (void)label; return 0; }

Common mistakes

Treating digits as consonants; not lowercasing before the vowel test.

Edge cases to handle

aeiou -> 0; xkcd -> 4; empty -> 0.

Background lessons

Solve this exercise in the browser editor — compile and run against the test harness, no setup required.