임의의 두 배열 A와 B가 주어졌을 때, 다음 중 어느 것인지 확인해요:
A가 배열 B와 같거나A가 배열 B를 포함하거나 (A는 B의 슈퍼리스트예요)A가 배열 B에 포함되거나 (A는 B의 서브리스트예요)A와 B가 같지 않아요구체적으로, 두 배열이 같은 순서로 같은 값을 가지고 있으면 배열 A는 배열 B와 같아요. A가 B와 값이 같은 연속된 부분 수열을 포함하고 있으면 A는 B의 슈퍼리스트예요. B가 A와 값이 같은 연속된 부분 수열을 포함하고 있으면 A는 B의 서브리스트예요.
예시:
A = []이고 B = []인 경우(두 배열 모두 비어 있어요), A와 B는 같아요A = [1, 2, 3]이고 B = []인 경우, A는 B의 슈퍼리스트예요A = []이고 B = [1, 2, 3]인 경우, A는 B의 서브리스트예요A = [1, 2, 3]이고 B = [1, 2, 3, 4, 5]인 경우, A는 B의 서브리스트예요A = [3, 4, 5]이고 B = [1, 2, 3, 4, 5]인 경우, A는 B의 서브리스트예요A = [3, 4]이고 B = [1, 2, 3, 4, 5]인 경우, A는 B의 서브리스트예요A = [1, 2, 3]이고 B = [1, 2, 3]인 경우, A와 B는 같아요A = [1, 2, 3, 4, 5]이고 B = [2, 3, 4]인 경우, A는 B의 슈퍼리스트예요A = [1, 2, 4]이고 B = [1, 2, 3, 4, 5]인 경우, A와 B는 같지 않아요A = [1, 2, 3]이고 B = [1, 3, 2]인 경우, A와 B는 같지 않아요Ordering 타입에는 LT("미만"), EQ("같음"), GT("초과") 세 가지 생성자가 있어요. 이 생성자들로 부분 리스트 관계를 나타낼 수 있는데, Just LT는 "부분 리스트"를 뜻하고, 다른 경우도 마찬가지예요. Nothing은 부분 리스트도, 상위 리스트도, 서로 같은 리스트도 아니라는 뜻이에요.
Exercism에 가입하고 Haskell 트랙을 연습 문제 107개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.