게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

4-2 테스트

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2017)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
박찬양



가입: 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    주제: 테스트 케이스 공유 감사합니다! 인용과 함께 답변

테스트케이스 공유 감사합니다.
덕분에 큰 도움이 되었습니다!
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2017) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay