| 이전 주제 보기 :: 다음 주제 보기 |
| 글쓴이 |
메시지 |
윤용호
가입: 2008년 9월 23일 올린 글: 257
|
올려짐: 2009년9월15일 19:32 주제: 테스트셋을 만들어봤습니다 |
|
|
도우며 삽시다
######## zipper test ########
> (zipper () ())
()
> (zipper (list 1 2 3) ())
(1 2 3)
> (zipper () (list 1 2 3 4))
(1 2 3 4)
> (zipper (list 1 2 3 4) (list 5 6 7 8))
(1 5 2 6 3 7 4 8)
> (zipper (list (list 1 2 3) (list 7 8 9)) (list (list 4 5 6) (list 10 11 12)))
((1 2 3) (4 5 6) (7 8 9) (10 11 12))
> (zipper (list (list 1 2 3) () (list 7 8 9)) (list () (list 4 5 6) () (list 10 11 2)))
((1 2 3) () () (4 5 6) (7 8 9) () (10 11 2))
######## zipperN test ########
> (zipperN (list (list 1 3 5 7) (list 2 4 6) (list 0 0)))
(1 2 0 3 4 0 5 6 7)
> (zipperN (list () (list 1 3 5 7) () (list 2 4 6) (list 0 0) ()))
(1 2 0 3 4 0 5 6 7)
> (zipperN (list (list 1 10 100 1000 10000) (list 2 4 8 16 32 64 128 256 512 1024 2048 4096) (list 3 6 9 12 15 18) (list 5 25 125 625) () (list 'a 'b 'c)))
(1 2 3 5 a 10 4 6 25 b 100 8 9 125 c 1000 16 12 625 10000 32 15 64 18 128 256 512 1024 2048 4096)
> (zipperN (list (list 1 2 3 4 5 6 7 8) () () (list 100 200 300) (list 1000 2000 3000)))
(1 100 1000 2 200 2000 3 300 3000 4 5 6 7 8)
> (zipperN (list (list 1 9) (list 2) (list 3) (list 4) (list 5) () (list 6) (list 7) (list 8) () ()))
(1 2 3 4 5 6 7 8 9)
> (zipperN (list (list (list 1 2) (list 9 10)) (list (list 3 4) (list 11 12)) (list (list 5 6) (list 13 14)) (list 7 8)))
((1 2) (3 4) (5 6) 7 (9 10) (11 12) (13 14) 8)
######## iter test ########
> (let ((eight (iter 3 (lambda (x) (* x x))))) (eight 3))
6561
> (let ((eight (iter 3 (lambda (x) (* x x))))) (eight 2))
256
> (let ((div-by-16 (iter 4 (lambda (x) (/ x 2))))) (div-by-16 256))
16
> (let ((div-by-16 (iter 4 (lambda (x) (/ x 2))))) (div-by-16 1024))
64
> (let ((id-test (iter 0 (lambda (x) (* x x))))) (id-test 'abc))
abc
> (let ((id-test (iter 1 (lambda (x) (* x x))))) (id-test 'abc))
. *: expects type <number> as 1st argument, given: abc; other arguments were: abc
> (let ((cd4r (iter 4 cdr))) (cd4r (list 1 2 3 4 5 6 7 8 9 10)))
(5 6 7 8 9 10)
> (let ((ca3r (iter 3 car))) (ca3r (list (list (list (list 1 2 3) (list 4 5 6)) (list 1 2 3)) (list 10 20 30))))
(1 2 3)
> (let ((lllist (iter 3 list))) (lllist (list 1 2 3)))
((((1 2 3))))
######## fold test ########
> (flatten (list (list (list (list (list 1 2) (list 3 4 5)) (list 6 7) (list (list (list 8 9 10))) (list 11 12) () () (list 13 14 15))) (list (list 16 17 18) (list 19 20)) 21 22 23 24))
(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24)
> (flatten (list () () () () (list (list () ()) () ()) () (list ())))
()
> (foldsum (list (list (list (list (list 1 2) (list 3 4 5)) (list 6 7) (list (list (list 8 9 10))) (list 11 12) () () (list 13 14 15))) (list (list 16 17 18) (list 19 20)) 21 22 23 24))
300
> (foldsum (list () () () () (list (list () ()) () ()) () (list ())))
0
######## crazy2val test ########
> (crazy2val (list 'n))
-1
> (crazy2val (list 'p))
1
> (crazy2val (list 'z))
0
> (crazy2val (list 'n 'n))
-3
> (crazy2val (list 'z 'z))
0
> (crazy2val (list 'z 'n))
-2
> (crazy2val (list 'p 'n))
-1
> (crazy2val (list 'p 'z))
1
> (crazy2val (list 'p 'p))
3
> (crazy2val (list 'p 'p 'z))
3
> (crazy2val (list 'p 'p 'p))
7
> (crazy2val (list 'p 'p 'n))
-1
> (crazy2val (list 'p 'n 'p))
3
> (crazy2val (list 'p 'n 'z 'p 'n 'z 'p 'p 'n 'p 'n))
-585
######## crazy2add test ########
> (crazy2add (list 'p 'n 'z 'p 'n 'z 'p 'p 'n 'p 'n) (list 'p 'p 'n 'n 'p 'z 'p 'p 'n 'p 'z 'p 'n))
(z p n z z z z p n z z p n)
> (+ (crazy2val (list 'p 'n 'z 'p 'n 'z 'p 'p 'n 'p 'n)) (crazy2val (list 'p 'p 'n 'n 'p 'z 'p 'p 'n 'p 'z 'p 'n)))
-2178
> (crazy2val (list 'z 'p 'n 'z 'z 'z 'z 'p 'n 'z 'z 'p 'n))
-2178
> (crazy2add (list 'p 'p 'p) (list 'n 'n 'n))
(z z z)
> (crazy2add (list 'p 'p 'p) (list 'p))
(z z z p)
> (crazy2add (list 'p 'p 'p) (list 'z))
(p p p)
######## crazy2sub test ########
> (crazy2sub (list 'p 'n 'z 'p 'n 'z 'p 'p 'n 'p 'n) (list 'p 'p 'n 'n 'p 'z 'p 'p 'n 'p 'z 'p 'n))
(z z z z n z z z z z n n p)
> (- (crazy2val (list 'p 'n 'z 'p 'n 'z 'p 'p 'n 'p 'n)) (crazy2val (list 'p 'p 'n 'n 'p 'z 'p 'p 'n 'p 'z 'p 'n)))
1008
> (crazy2val (list 'z 'z 'z 'z 'n 'z 'z 'z 'z 'z 'n 'n 'p))
1008
> (crazy2sub (list 'p 'p 'p 'p 'p 'p 'p 'p) (list 'p 'p 'p 'p 'p 'p 'p 'p 'p 'p 'p 'p))
(z z z z z z z z n n n n)
> (- (crazy2val (list 'p 'p 'p 'p 'p 'p 'p 'p)) (crazy2val (list 'p 'p 'p 'p 'p 'p 'p 'p 'p 'p 'p 'p)))
-3840
> (crazy2val (list 'z 'z 'z 'z 'z 'z 'z 'z 'n 'n 'n 'n))
-3840
> (crazy2sub (list 'p 'p 'p) (list 'p 'p 'p))
(z z z)
> (crazy2sub (list 'n 'n 'n) (list 'n 'n 'n))
(z z z)
> (crazy2sub (list 'n 'z 'z 'p) (list 'p))
(z n z p) |
|
| 위로 |
|
 |
김학봉
가입: 2008년 9월 5일 올린 글: 70
|
올려짐: 2009년9월17일 15:34 주제: .. |
|
|
| 잘 쓸게~~ |
|
| 위로 |
|
 |
이우석
가입: 2007년 9월 26일 올린 글: 72
|
올려짐: 2009년9월19일 14:53 주제: |
|
|
이런 현상 장려합니다
더불어, 단지 남들이 올리는 테스트셋을 사용하는데 그치지만 마시고, 자기가 또 테스트셋을 만들어 보세요. 내가 만든 프로그램이 커버 못하는 케이스가 있는지 골똘히 생각하는 동시에 숙제에 대한 이해도 더 깊어질겁니다. |
|
| 위로 |
|
 |
임창원
가입: 2009년 9월 14일 올린 글: 21
|
올려짐: 2009년9월19일 16:06 주제: 정말 감사합니다 |
|
|
| 근데 전 어떻게 도와야할지 ㅋㅋㅋ |
|
| 위로 |
|
 |
구상준
가입: 2009년 9월 18일 올린 글: 27
|
올려짐: 2009년9월19일 22:37 주제: ... |
|
|
테스트 셋에 다른 게 있는데
(crazy2val (list 'p 'n 'z 'p 'n 'z 'p 'p 'n 'p 'n))
를 하면 전 597이 나옵니다. 맞나요? |
|
| 위로 |
|
 |
lotas123
가입: 2009년 9월 18일 올린 글: 12
|
올려짐: 2009년9월19일 22:48 주제: |
|
|
(crazy2val (list 'p 'n 'z 'p 'n 'z 'p 'p 'n 'p 'n))
1-2+8-16+64+128-256+512-1024 = -585
입니다. 문제에서 낮은자리 순서로 정의했더군요 |
|
| 위로 |
|
 |
|