이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
유.강민
가입: 2011년 3월 22일 올린 글: 38
|
올려짐: 2011년9월19일 11:09 주제: 테스트셋을 만들어 봤습니다 수정판 |
|
|
출처: https://ropas.snu.ac.kr/phpbb/viewtopic.php?t=1690
마우스 드래그 -> ctrl-c -> ctrl-v -> run -> 시간벌기
(equal? (zipper () ()) '())
(equal? (zipper (list 1 2 3) ()) '(1 2 3))
(equal? (zipper () (list 1 2 3 4)) '(1 2 3 4))
(equal? (zipper (list 1 2 3 4) (list 5 6 7 8)) '(1 5 2 6 3 7 4 8))
(equal? (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)))
(equal? (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)))
(equal? (zipperN (list (list 1 3 5 7) (list 2 4 6) (list 0 0))) '(1 2 0 3 4 0 5 6 7))
(equal? (zipperN (list () (list 1 3 5 7) () (list 2 4 6) (list 0 0) ())) '(1 2 0 3 4 0 5 6 7))
(equal? (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))
(equal? (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))
(equal? (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))
(equal? (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))
(equal? (let ((eight (iter 3 (lambda (x) (* x x))))) (eight 3)) 6561)
(equal? (let ((eight (iter 3 (lambda (x) (* x x))))) (eight 2)) 256)
(equal? (let ((div-by-16 (iter 4 (lambda (x) (/ x 2))))) (div-by-16 256)) 16)
(equal? (let ((div-by-16 (iter 4 (lambda (x) (/ x 2))))) (div-by-16 1024)) 64)
(equal? (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
(equal? (let ((cd4r (iter 4 cdr))) (cd4r (list 1 2 3 4 5 6 7 8 9 10))) '(5 6 7 8 9 10))
(equal? (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))
(equal? (let ((lllist (iter 3 list))) (lllist (list 1 2 3))) '((((1 2 3)))))
(equal? (crazy2val (list 'n)) -1)
(equal? (crazy2val (list 'p)) 1)
(equal? (crazy2val (list 'z)) 0)
(equal? (crazy2val (list 'n 'n)) -3)
(equal? (crazy2val (list 'z 'z)) 0)
(equal? (crazy2val (list 'z 'n)) -2)
(equal? (crazy2val (list 'p 'n)) -1)
(equal? (crazy2val (list 'p 'z)) 1)
(equal? (crazy2val (list 'p 'p)) 3)
(equal? (crazy2val (list 'p 'p 'z)) 3)
(equal? (crazy2val (list 'p 'p 'p)) 7)
(equal? (crazy2val (list 'p 'p 'n)) -1)
(equal? (crazy2val (list 'p 'n 'p)) 3)
(equal? (crazy2val (list 'p 'n 'z 'p 'n 'z 'p 'p 'n 'p 'n)) -585)
(equal? (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))
(equal? (+ (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)
(equal? (crazy2val (list 'z 'p 'n 'z 'z 'z 'z 'p 'n 'z 'z 'p 'n)) -2178)
(equal? (crazy2add (list 'p 'p 'p) (list 'n 'n 'n)) '(z z z))
(equal? (crazy2add (list 'p 'p 'p) (list 'p)) '(z z z p))
(equal? (crazy2add (list 'p 'p 'p) (list 'z)) '(p p p)) |
|
위로 |
|
|
이영석
가입: 2011년 9월 5일 올린 글: 103
|
올려짐: 2011년9월19일 13:02 주제: crazy2add |
|
|
crazy2add 함수의 경우에는 구현방법에 따라서 나오는 결과값이 달라질 수 있으므로 테스트는 crazy2val 함수를 이용하여 합니다. |
|
위로 |
|
|
안준형
가입: 2011년 9월 7일 올린 글: 18
|
올려짐: 2011년9월19일 14:44 주제: -585 테스트셋 답이 틀렸네요.. |
|
|
597인 것 같은데! |
|
위로 |
|
|
이영석
가입: 2011년 9월 5일 올린 글: 103
|
올려짐: 2011년9월19일 14:47 주제: -585 |
|
|
-585가 맞습니다 스펙을 보시면 리스트의 첫번째 원소가 d_0 이 됩니다. |
|
위로 |
|
|
|