|
|
이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
박찬양
가입: 2017년 9월 11일 올린 글: 6
|
올려짐: 2017년10월23일 14:21 주제: 4-2 테스트 |
|
|
4-2 테스트 공유합니다.
let _ =
assert ((shoppingList []) = emptyL);
assert ((shoppingList [
(A, []); (B, []); (C, []); (D, []); (E, []);
]) = emptyL);
assert ((shoppingList [
(A, [Same B]); (B, [Same C]); (C, [Same D]); (D, [Same E]); (E, [Same A]);
]) = emptyL);
assert ((shoppingList [
(A, [Items [1;2;3]]); (B, [Items [2;3;4]]);
(C, [Items [3;4;1]]); (D, [Items [4;1;2]]);
(E, [Items [1;2;3;1;2;3]]);
]) = [(A, [1; 2; 3]); (B, [2; 3; 4]); (C, [1; 3; 4]); (D, [1; 2; 4]); (E, [1; 2; 3])]);
assert ((shoppingList [
(A, [Items [1;2;3]]);
(B, [Same A]);
(C, [Same A; Items[1;2]]);
(D, [Same A; Items[4]]);
(E, [Same D]);
]) = [(A, [1; 2; 3]); (B, [1; 2; 3]); (C, [1; 2; 3]); (D, [1; 2; 3; 4]); (E, [1; 2; 3; 4])]);
assert ((shoppingList [
(A, [Common (Items [1;2;3], Items [2;1;3])]);
(B, [Common (Items [2;1;3], Items [5;6;1;4;2;3])]);
(C, [Common (Items [1;2;3], Items [4;5;6])]);
(D, [Common (Items [3;2;1], Items [1])]);
(E, [Common (Items [1;2;3], Items [])]);
]) = [(A, [1; 2; 3]); (B, [1; 2; 3]); (C, []); (D, [1]); (E, [])]);
assert ((shoppingList [
(B, [Common (Items [2;1;3], Items [5;6;1;4;2;3])]);
(E, [Common (Items [], Items [])]);
(D, [Common (Items [1], Items [1])]);
]) = [(A, []); (B, [1; 2; 3]); (C, []); (D, [1]); (E, [])]);
assert ((shoppingList [
(A, [Except (Items [3;2;1], [3;2;1])]);
(B, [Except (Items [2;1;3], [])]);
(C, [Except (Items [2;1;3], [1;2;3;4;5;6])]);
(D, [Except (Items [], [2;1;3])]);
(E, [Except (Items [], [])]);
]) = [(A, []); (B, [1; 2; 3]); (C, []); (D, []); (E, [])]);
assert ((shoppingList [
(A, [Common (Common (Same B, Same C), Common (Same D, Same E))]);
(B, [Common (Same C, Common (Same D, Except (Same E, [5])))]);
(C, [Same D; Items[7;8]]);
(D, [Except (Same E, [1;2;3])]);
(E, [Items [1;2;3;4;5]]);
]) = [(A, [4]); (B, [4]); (C, [4; 5; 7; 8]); (D, [4; 5]); (E, [1; 2; 3; 4; 5])]);
assert ((shoppingList [
(A, [Same B; Same C]);
(B, [Except (Same C, [1;2;3]); Same D]);
(C, [Items [1;2;3]; Items [3;4;5]; Common (Same A, Items [6;7])]);
(D, [Same E]);
(E, [Same D; Items[6;8]]);
]) = [(A, [1; 2; 3; 4; 5; 6; 8]); (B, [4; 5; 6; 8]); (C, [1; 2; 3; 4; 5; 6]); (D, [6; 8]); (E, [6; 8])]);
assert ((shoppingList [
(A, [Common (Same B, Common (Except (Items [1;2;3;4;5], [1;3;5]), Same C)); Items [2;4;8]]);
(B, [Except (Except (Except (Same A, [1]),[1;2]),[3]); Items [3;6;9]]);
(C, [Same A; Same B; Same D; Same E]);
(D, [Items [10]; Common (Same A, Same D); Items [5]]);
(E, [Common (Same C, Common (Same A, Common (Same D, Same B)))])
]) = [(A, [2; 4; 8]); (B, [2; 3; 4; 6; 8; 9]); (C, [2; 3; 4; 5; 6; 8; 9; 10]); (D, [5; 10]); (E, [])]);
assert ((shoppingList [
(A, [Items [1;2;3;1;2;3]]);
(D, [Items [5;5;5;5;5]]);
(A, [Same D]);
(E, [Except (Items [1;2;3;1;2;3], [1;2;3])]);
(A, [Items [1;2;3;4]]);
]) = [(A, [1; 2; 3; 4; 5]); (B, []); (C, []); (D, [5]); (E, [])]);
print_endline "pass all tests"; |
|
위로 |
|
|
이영찬
가입: 2017년 9월 12일 올린 글: 1
|
올려짐: 2017년10월23일 16:36 주제: 테스트 틀린 부분 |
|
|
뒤에서 2번째 test 결과에서 B의 gift list의 2가 빠져야 합니다. |
|
위로 |
|
|
신원준
가입: 2017년 9월 12일 올린 글: 23
|
올려짐: 2017년10월23일 17:36 주제: |
|
|
뒤에서 2번째 테스트 결과에서 B 중에 2가 빠져야 되는 거 같습니다.
그리고 emptyL을 정의 안 하신 분들도 혹시 있을 수 있으니,
그리고 혹시 실패하면 어디서 실패하는지 알고 싶으신 분들도 계실 거 같아서 아주 조금 수정했습니다.
코드: |
let _ =
let emptyL = [(A, []); (B, []); (C, []); (D, []); (E, [])] in
assert ((shoppingList []) = emptyL);
print_endline "0";
assert ((shoppingList [
(A, []); (B, []); (C, []); (D, []); (E, []);
]) = emptyL);
print_endline "1";
assert ((shoppingList [
(A, [Same B]); (B, [Same C]); (C, [Same D]); (D, [Same E]); (E, [Same A]);
]) = emptyL);
print_endline "2";
assert ((shoppingList [
(A, [Items [1;2;3]]); (B, [Items [2;3;4]]);
(C, [Items [3;4;1]]); (D, [Items [4;1;2]]);
(E, [Items [1;2;3;1;2;3]]);
]) = [(A, [1; 2; 3]); (B, [2; 3; 4]); (C, [1; 3; 4]); (D, [1; 2; 4]); (E, [1; 2; 3])]);
print_endline "3";
assert ((shoppingList [
(A, [Items [1;2;3]]);
(B, [Same A]);
(C, [Same A; Items[1;2]]);
(D, [Same A; Items[4]]);
(E, [Same D]);
]) = [(A, [1; 2; 3]); (B, [1; 2; 3]); (C, [1; 2; 3]); (D, [1; 2; 3; 4]); (E, [1; 2; 3; 4])]);
print_endline "4";
assert ((shoppingList [
(A, [Common (Items [1;2;3], Items [2;1;3])]);
(B, [Common (Items [2;1;3], Items [5;6;1;4;2;3])]);
(C, [Common (Items [1;2;3], Items [4;5;6])]);
(D, [Common (Items [3;2;1], Items [1])]);
(E, [Common (Items [1;2;3], Items [])]);
]) = [(A, [1; 2; 3]); (B, [1; 2; 3]); (C, []); (D, [1]); (E, [])]);
print_endline "5";
assert ((shoppingList [
(B, [Common (Items [2;1;3], Items [5;6;1;4;2;3])]);
(E, [Common (Items [], Items [])]);
(D, [Common (Items [1], Items [1])]);
]) = [(A, []); (B, [1; 2; 3]); (C, []); (D, [1]); (E, [])]);
print_endline "6";
assert ((shoppingList [
(A, [Except (Items [3;2;1], [3;2;1])]);
(B, [Except (Items [2;1;3], [])]);
(C, [Except (Items [2;1;3], [1;2;3;4;5;6])]);
(D, [Except (Items [], [2;1;3])]);
(E, [Except (Items [], [])]);
]) = [(A, []); (B, [1; 2; 3]); (C, []); (D, []); (E, [])]);
print_endline "7";
assert ((shoppingList [
(A, [Common (Common (Same B, Same C), Common (Same D, Same E))]);
(B, [Common (Same C, Common (Same D, Except (Same E, [5])))]);
(C, [Same D; Items[7;8]]);
(D, [Except (Same E, [1;2;3])]);
(E, [Items [1;2;3;4;5]]);
]) = [(A, [4]); (B, [4]); (C, [4; 5; 7; 8]); (D, [4; 5]); (E, [1; 2; 3; 4; 5])]);
print_endline "8";
assert ((shoppingList [
(A, [Same B; Same C]);
(B, [Except (Same C, [1;2;3]); Same D]);
(C, [Items [1;2;3]; Items [3;4;5]; Common (Same A, Items [6;7])]);
(D, [Same E]);
(E, [Same D; Items[6;8]]);
]) = [(A, [1; 2; 3; 4; 5; 6; 8]); (B, [4; 5; 6; 8]); (C, [1; 2; 3; 4; 5; 6]); (D, [6; 8]); (E, [6; 8])]);
print_endline "9";
assert ((shoppingList [
(A, [Common (Same B, Common (Except (Items [1;2;3;4;5], [1;3;5]), Same C)); Items [2;4;8]]);
(B, [Except (Except (Except (Same A, [1]),[1;2]),[3]); Items [3;6;9]]);
(C, [Same A; Same B; Same D; Same E]);
(D, [Items [10]; Common (Same A, Same D); Items [5]]);
(E, [Common (Same C, Common (Same A, Common (Same D, Same B)))])
]) = [(A, [2; 4; 8]); (B, [3; 4; 6; 8; 9]); (C, [2; 3; 4; 5; 6; 8; 9; 10]); (D, [5; 10]); (E, [])]);
print_endline "10";
assert ((shoppingList [
(A, [Items [1;2;3;1;2;3]]);
(D, [Items [5;5;5;5;5]]);
(A, [Same D]);
(E, [Except (Items [1;2;3;1;2;3], [1;2;3])]);
(A, [Items [1;2;3;4]]);
]) = [(A, [1; 2; 3; 4; 5]); (B, []); (C, []); (D, [5]); (E, [])]);
print_endline "pass all tests";
|
|
|
위로 |
|
|
최재원
가입: 2017년 9월 7일 올린 글: 13
|
올려짐: 2017년10월23일 17:50 주제: |
|
|
마지막 input은 조금 이상한 것 같아요.. A에 해당되는 require가 여러 개 있더라도 require list은 하나로 한정짓지 않을까요? |
|
위로 |
|
|
강민지
가입: 2017년 9월 6일 올린 글: 1
|
올려짐: 2017년10월26일 18:49 주제: |
|
|
감사합니다 :D |
|
위로 |
|
|
최현일
가입: 2015년 9월 3일 올린 글: 14
|
올려짐: 2017년10월26일 22:37 주제: |
|
|
테스트 케이스 감사감사합니다.
다른 글에 조교님이 답변 다셨지만 테스트 인풋에서 특정 id가 안들어오는 경우는 없다고 했는데
위의 테스트 케이스에서 0, 6, 11(마지막거) 번째 케이스들이 id가 비어있는 경우입니다.
혹시 이런 경우에 대해서 처리를 안하신 분은 주석처리 하시면 될거같습니다
다시한번 감사감사합니다 |
|
위로 |
|
|
신현선
가입: 2017년 9월 10일 올린 글: 4
|
올려짐: 2017년10월27일 0:50 주제: 테스트 케이스 공유 감사합니다! |
|
|
테스트케이스 공유 감사합니다.
덕분에 큰 도움이 되었습니다! |
|
위로 |
|
|
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|