게시판 인덱스

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

과제 4-2 테스트케이스

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



가입: 2017년 9월 12일
올린 글: 23

올리기올려짐: 2017년10월20일 16:44    주제: 과제 4-2 테스트케이스 인용과 함께 답변

코드:




let unwrap identifier = match identifier with
   | A -> 0
   | B -> 1
   | C -> 2
   | D -> 3
   | E -> 4

let _ =

   let printList lst =
      print_char '[';
      List.iteri (fun i -> fun (id, gifts) ->
         print_char '(';
         print_char (Char.chr (65 + unwrap id));
         print_string ", ";
         (match gifts with
            | [] -> print_string "nil";
            | gl -> print_char '['; List.iteri(fun j -> fun gift ->
               print_string (string_of_int gift);
               if (j + 1 != List.length gl) then
                  print_string ", ";
            ) gl; print_char ']');
         print_string ")";
         if (i + 1 != List.length lst) then
            print_string ", ";
      ) lst;
      print_char ']';
      print_newline() in

   printList (shoppingList [
      (A, [Items [1; 2]; Common (Same (B), Same (C))]);
      (B, [Common (Same (C), Items [2; 3])]);
      (C, [Items [1]; Except (Same (A), [3])])]);

   printList (shoppingList [
      (A, [Items [1; 2; 3]; Except (Items [5; 6; 7], [6]); Common (Same (D), Same (E))]);
      (B, [Common (Same (A), Same (B)); Common (Same (B), Same (C)); Except (Same (D), [9])]);
      (C, [Common (Same (B), Same (C)); Except (Same (E), [1; 6]); Common (Same (A), Same (D))]);
      (D, [Items [4; 5; 6; 7; 8; 9; 10]; Same (B); Same (C)]);
      (E, [Except (Same (A), [3]); Items [9; 10; 11]; Common (Common (Same (B), Same (D)), Items [1; 2; 3; 4; 5; 6; 7])])]);


예상되는 답변.. (그냥 콘솔에 출력하게 해놨어요)

인용:

첫번째 TC: [(A, [1, 2]), (B, [2]), (C, [1, 2]), (D, nil), (E, nil)]
얘는 문제에 주어진 예시와 동일합니다.

두번째 TC: [(A, [1, 2, 3, 4, 5, 6, 7, 9, 10, 11]), (B, [2, 4, 5, 6, 7, 8, 10, 11]), (C, [2, 4, 5, 6, 7, 9, 10, 11]), (D, [2, 4, 5, 6, 7, 8, 9, 10, 11]), (E, [1, 2, 4, 5, 6, 7, 9, 10, 11])]
A B C D E의 값이 모두 서로 다르므로 주의를 요합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
김수



가입: 2017년 9월 5일
올린 글: 16

올리기올려짐: 2017년10월20일 21:08    주제: 인용과 함께 답변

잘 되네요 감사합니다!
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 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