2005 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 11 |
2012 | 03 | 04 | 06 | 07 | 08 | 09 | 11 | 12 |
2013 | 01 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 11 |
2012 | 03 | 04 | 06 | 07 | 08 | 09 | 11 | 12 |
2013 | 01 |
November 22(Mon), 2010
Ninety-Nine Lisp Problems - P09 の解答
L-99: Ninety-Nine Lisp Problemsの問題を解答してみたよ。なんか、エレガントではないなぁ:
;; P09 (**) Pack consecutive duplicates of list elements into sublists. ;; If a list contains repeated elements they should be placed in separate sublists. ;; ;; Example: ;; * (pack '(a a a a b c c a a d e e e e)) ;; ((A A A A) (B) (C C) (A A) (D) (E E E E)) (define (pack-seed front sublist result l) (cond [(null? l) (append result (list sublist))] [(eq? front (car l)) (pack-seed front (append sublist (list front)) result (cdr l))] [else (pack-seed (car l) (list (car l)) (if (null? result) (if (null? sublist) '() (append result (list sublist))) (append result (list sublist))) (cdr l))])) (define (pack l) (pack-seed #f '() '() l)) (pack '(a a a a b c c a a d e e e e))
トラックバック - http://d.hatena.ne.jp/sirocco634/20101122
(use gauche.sequence)
(define pack group-sequence)
コメントありがとうございます!
そんなものがあったのか。。。
あとでソース読んで、自分のコードと比較してみます!!!