How to check if a word is an Isogram? (meaning it doesn’t have repeating letters)
Checking for repeating letters with C#.
1 min readApr 3, 2023
Here is the exercise on CodeWars.
An isogram is a word that has no repeating letters, consecutive or non-consecutive. Implement a function that determines whether a string that contains only letters is an isogram. Assume the empty string is an isogram. Ignore letter case.
Example: (Input → Output)
“Dermatoglyphics” → true “aba” → false “moOse” → false (ignore letter case)
isIsogram "Dermatoglyphics" = true
isIsogram "moose" = false
isIsogram "aba" = false
For me, as a reflect, whenever I see the unique keyword in any problem, I immediately think about Sets.
using System;
using System.Collections.Generic;
public class Kata
{
public static bool IsIsogram(string str)
{
var value = str.ToLower();
var set = new HashSet<string>();
foreach(char c in value)
{
set.Add(c.ToString());
}
return set.Count == value.Length ? true : false;
}
}