두문자어

두문자어

쉬움

지침

문구를 약어로 바꿔 보세요.

IT를 좋아하는 사람들은 TLA(세 글자 약어)를 정말 좋아해요!

Portable Network Graphics 같은 긴 이름을 약어(PNG)로 바꿔 주는 프로그램을 작성해서 재미있는 전문용어를 만들어 봐요.

구두점은 다음과 같이 처리해요. 하이픈은 (공백처럼) 단어 구분자이고, 나머지 구두점은 모두 입력에서 제거할 수 있어요.

예를 들어:

Input Output
As Soon As Possible ASAP
Liquid-crystal display LCD
Thank George It's Friday! TGIF

힌트

이 연습 문제는 텍스트 데이터를 다뤄요. 역사적인 이유로, Haskell의 String 타입은 문자들의 리스트인 [Char]와 같은 의미예요. 텍스트 데이터를 더 효율적으로 다루려면 Text 타입을 사용할 수 있어요.

이 연습 문제를 위한 선택적인 확장으로, 다음을 해볼 수 있어요.

  • Haskell의 문자열 타입에 대해 읽어봐요.

  • package.yaml의 의존성 목록에 - text를 추가해요.

  • Data.Text를 다음과 같은 방식으로 임포트해요:

      import qualified Data.Text as T
      import           Data.Text (Text)
    
  • 이제 abbreviate :: Text -> Text처럼 작성하고, Data.Text의 조합 함수를 T.filter처럼 참조할 수 있어요.

  • Data.Text 문서를 찾아봐요.

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


출처

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

두문자어 문제를 시작해 볼 준비가 됐나요?

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

두문자어 깊이 살펴보기!

기본적인 공백 매칭부터 시작해 유니코드를 살펴보고, 마지막으로 negative lookbehind까지, 정규 표현식을 가볍게 파고들어 봐요. 끝으로 상태 기계를 비롯해 두문자어 문제를 푸는 다른 접근법들도 살펴봐요.