트랙
/
Haskell
Haskell
/
연습 문제
/
아이소그램
아이소그램

아이소그램

쉬움

지침

단어나 구가 아이소그램인지 판별해요.

아이소그램은 "패턴 없는 단어"라고도 하는데, 반복되는 글자가 없는 단어나 구를 말해요. 다만 공백과 하이픈은 여러 번 나와도 괜찮아요.

아이소그램의 예는 다음과 같아요.

  • lumberjacks
  • background
  • downstream
  • six-year-old

하지만 _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 문서를 찾아봐요.

이 부분은 전적으로 선택 사항이에요.


출처

Wikipedia링크가 새 창이나 탭에서 열려요
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Haskell Exercism

아이소그램 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 Haskell 트랙을 연습 문제 107개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.