트랙
/
Elixir
Elixir
/
연습 문제
/
부분 배열
부분 배열

부분 배열

쉬움

지침

임의의 두 배열 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는 같지 않아요

느린 테스트

이 연습 문제의 테스트 중 하나 이상에는 :slow 태그가 붙어 있어요. 끝나는 데 오랜 시간이 걸릴 수 있기 때문이에요. 그래서 이런 테스트는 플랫폼에서 자동 테스트 실행기가 실행하지 않아요. 플랫폼의 웹 에디터에서 바로 이 연습 문제를 풀고 있다면, 이 연습 문제를 내 컴퓨터로 내려받아서 푸는 것도 고려해 봐요. 그러면 모든 테스트를 실행하고 내 풀이가 얼마나 효율적인지도 확인할 수 있어요.

GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Elixir Exercism

부분 배열 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 Elixir 트랙을 개념 58개연습 문제 168개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.