myLast [x] = x
myLast (x:xs) = myLast xs
-- myButLast = myButLast' . reverse
-- where
-- myButLast' (x:y:xs) = y
myButLast = head . tail. reverse
elementAt (x:_) 1 = x
elementAt (_:xs) n = elementAt xs (n-1)
-- myLength xs = f xs 0 where
-- f [] n = n
-- f (_:xs) n = f xs (n+1)
myLength [] = 0
myLength (x:xs) = 1 + myLength xs
myLength1 :: [a]->Int
myLength1 = foldr (\_->(+1)) 0
myLength2 = fst . last. zip [1..]
myLength3 = sum . map (\_->1)
myReverse :: [a]->[a]
myReverse [] = []
myReverse (x:xs) = myReverse xs ++ [x]
myReverse1 :: [a]->[a]
myReverse1 = foldl (flip(:)) []
isPalindrome :: Eq a => [a] -> Bool
isPalindrome xs = (xs == reverse xs)
compress [] = []
compress (x:xs) = x:(compress $ rest x xs) where
rest sample [] = []
rest sample (x:xs)
| (sample /= x) = (x:xs)
| otherwise = rest sample xs
compress1 [] = []
compress1 (x:xs) = x:compress1 (dropWhile ((==) x) xs)
pack [] = []
pack xs@(x:_) = (takeWhile cond xs): (pack $ dropWhile cond xs) where
cond = (==) x
encoode [] = []
encode xs = map (\ xs@(x:_)->(myLength xs, x)) (pack xs)
하스켈 공부 중
닉네임왜궁금한..(cmdnikle27)
2016-09-30 18:19
추천 0
댓글 1
다른 게시글
-
한미약품 이제 살 타이밍아니냐?? [1]익명(220.92) | 16.09.30추천 0
-
맥북은 솔직히 vim 안 써도 될 것 같은데... [3]도커띠(dockerddi) | 16.09.30추천 0
-
애드센스 한 번 수락되면 다음 웹은 바로 수락됨?용수철(123.140) | 16.09.30추천 0
-
애드웨어클리너 좀 믿을만한거 없냐?;;;익명(59.187) | 16.09.30추천 0
-
안드로이드앱은 자바 말고 뭐로만드냐? [5]익명(220.92) | 16.09.30추천 0
-
자바 욕하는 사람치고 좋은대학 다니는걸 못봄 [6]익명(61.77) | 16.09.30추천 1
-
회사 주력 프레임워크가 스프링이면 뗼감회사 맞져?asd(61.122) | 16.09.30추천 0
-
헤헤 탈퇴완료 [1]ஐ(223.62) | 16.09.30추천 0
-
카카오카 향후 실무에 스칼라를 적극적으로 쓸 예정이라는 얘기가 있던데 [3]익명(58.151) | 16.09.30추천 0
-
다이렉트x12직접 배우며 해야지 언리얼만 배우는건 땔깜이지익명(223.62) | 16.09.30추천 0
리스트 배우시는듯