이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
복영빈
가입: 2013년 9월 14일 올린 글: 9
|
올려짐: 2013년12월20일 20:49 주제: 프로젝트4에서요 |
|
|
symbol 이 현재 A|B|C|D 만 가능한데
다른 symbol 을 추가해도되나요?
type symbol = A|B|C|D|E 이렇게요.
지워야 될 symbol 들을 E로 바꾼담에 한꺼번에 지워주려고 이렇게 하려고하는데
괜찮은가요? |
|
위로 |
|
|
조성근
가입: 2009년 9월 14일 올린 글: 283
|
올려짐: 2013년12월20일 21:58 주제: |
|
|
괜찮지 않습니다. 주어진 타입을 임의로 바꾸면 채점에 어려움을 겪기 때문입니다.
하지만 말씀하시는 내용을 다음과 같은 함수와 타입을 새롭게 정의하여 구현하실 수는 있습니다.
type mysymbol = A|B|C|D|E
let symbol2mysymbol : symbol -> mysymbol = ...
그리고 valid에서 인자로 받은 rule과 symbol을 mysymbol을 사용하는 값들로 변환 후 원하시는 방법대로 구현하시는 것입니다.
하지만 이 방법이 올바른 값을 내뱉도록 하는 것이 쉬워보이지는 않아 추천하고 싶지는 않습니다. 예를 들어 ABA에서 지워야 될 symbol들이 AB와 BA라고 했을 때, EEA나 AEE로 바꾸고 나면 제대로된 지우기가 어려워질 테니까요. |
|
위로 |
|
|
복영빈
가입: 2013년 9월 14일 올린 글: 9
|
올려짐: 2013년12월20일 22:51 주제: 만약에 |
|
|
1. 제가 [A;B;A;B;B;A]
에서 0번째 5 번쨰 3번쨰를 E 로 바꾸고
한꺼번에 E 를 지워주려고 합니다.
mysymbol 로는 다른 모든 함수들도 type 을 바꾸어줘야하는 상황이 발생해서그런데,
type 을 바꾸지 말아야한다면,
symbol list 에서 0 5 3번쨰 symbol 을 지워야된단는 것을 알았을때
한꺼번에 지우는 방법이 뭐가 있을까요?
2. 그리고 valid 에서
여기서 황인준씨가
https://ropas.snu.ac.kr/phpbb/viewtopic.php?t=4204
했던 질문인
2. valid는 정확하게 할 수 있나요, 아니면 약간의 편법(?)을 쓰는 것도 옳은 풀이인가요?
편법으로는 n이 적당히 클 때 "규칙을 n회 적용했을 때 나온 심볼집합들"에 판별하고자 하는 것이 있는지 검사하는 방법이 있겠고,
정확한 방법은 말 그대로입니다.
의 연장선상에 있는 질문으로요 만약에 n 을 적당히 크게 설정해서 문제를 풀었을 경우
false 를 return 할때까지 걸리는 시간의 기준을 주실 수 있나요?
예를 들어 항상 20초 안에 답을 내야한다. 이렇게요.
3. 1번은 주석을 꼭 달아야하고 2,3,4 번은 주석을 달 필요가 없는게 맞나요?
4. insertion Sort 같은 간단한 함수는 인터넷에 올라와있는거 가져다가 써도되나요? |
|
위로 |
|
|
조성근
가입: 2009년 9월 14일 올린 글: 283
|
올려짐: 2013년12월21일 12:57 주제: |
|
|
인용: | type 을 바꾸지 말아야한다면,
symbol list 에서 0 5 3번쨰 symbol 을 지워야된단는 것을 알았을때
한꺼번에 지우는 방법이 뭐가 있을까요? |
이런 고민은 학생분의 몫입니다만, [0 5 3] 리스트로 갖고 있을 수 있겠죠.
인용: | 예를 들어 항상 20초 안에 답을 내야한다. 이렇게요. |
예제의 크기마다 다르지만 60초 정도면 괜찮을 거라 생각합니다.
인용: | 1번은 주석을 꼭 달아야하고 2,3,4 번은 주석을 달 필요가 없는게 맞나요? |
예.
인용: | insertion Sort 같은 간단한 함수는 인터넷에 올라와있는거 가져다가 써도되나요? |
예. |
|
위로 |
|
|
|