Raindrops는 고전적인 면접 질문인 FizzBuzz 챌린지를 조금 더 복잡하게 만든 버전이에요.
이 과제에서는 숫자를 그에 해당하는 빗방울 소리로 변환해요.
주어진 숫자가 다음과 같은 경우:
"Plong"이 돼요."PlingPlang"이 돼요."34"가 돼요.숫자를 빗방울 소리로 변환해 반환하는 convert 함수를 구현해야 해요. 타입이 확실하지 않다면 제공된 시그니처를 사용해도 되지만, 그것이 창의성을 제한하게 두지는 마세요.
convert :: Int -> String
이 연습 문제는 텍스트 데이터를 다뤄요. 역사적인 이유로, Haskell의 String 타입은 문자들의 리스트인 [Char]와 같은 의미예요. 텍스트 데이터를 더 효율적으로 다루려면 Text 타입을 사용할 수 있어요.
이 연습 문제를 선택적으로 확장해 볼 수 있어요.
import qualified Data.Text as T
import Data.Text (Text)
convert :: Int -> Text라고 쓰고, Data.Text 컴비네이터를 예를 들어 T.pack처럼 참조할 수 있어요.Data.Text 문서를 찾아봐요.String을 모두 Text로 바꿀 수 있어요.convert :: Int -> Text
이 부분은 전적으로 선택 사항이에요.
Exercism에 가입하고 Haskell 트랙을 연습 문제 107개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.
함수형 파이프라인, 행렬 곱셈, 매크로를 사용해 미리 계산한 표 기반 풀이, 객체 지향 접근법, Python과 TCL을 모두 인상적으로 활용한 풀이, 그리고 엔터프라이즈 에디션까지 다양한 풀이를 살펴봐요.