단어나 구가 아이소그램인지 판별해요.
아이소그램은 "패턴 없는 단어"라고도 하는데, 반복되는 글자가 없는 단어나 구를 말해요. 다만 공백과 하이픈은 여러 번 나와도 괜찮아요.
아이소그램의 예는 다음과 같아요.
하지만 _isograms_라는 단어는 아이소그램이 아니에요. s가 반복되기 때문이에요.
이 연습 문제는 텍스트 데이터를 다뤄요. 역사적인 이유로, Haskell의 String 타입은 문자들의 리스트인 [Char]와 같은 의미예요. 텍스트 데이터를 더 효율적으로 다루려면 Text 타입을 사용할 수 있어요.
이 연습 문제를 선택적으로 확장해 볼 수도 있어요.
Haskell의 문자열 타입에 대해 읽어봐요.
package.yaml의 의존성 목록에 - text를 추가해요.
다음 방식으로 Data.Text를 임포트해요.
import qualified Data.Text as T
import Data.Text (Text)
이제 예를 들어 isIsogram :: Text -> Bool처럼 작성하고, Data.Text의 함수들을 T.toLower처럼 사용할 수 있어요.
Data.Text 문서를 찾아봐요.
이 부분은 전적으로 선택 사항이에요.
Exercism에 가입하고 Haskell 트랙을 연습 문제 107개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.