수열

수열

쉬움

지침

숫자로 이루어진 문자열이 주어지면, 그 문자열에서 길이가 n인 모든 연속 부분 문자열을 나타나는 순서대로 출력해요.

예를 들어, 문자열 "49142"에는 다음과 같은 3자리 연속열이 있어요:

  • "491"
  • "914"
  • "142"

그리고 다음과 같은 4자리 연속열도 있어요:

  • "4914"
  • "9142"

5자리 문자열에서 6자리 연속열을 달라고 하면, 어떤 결과가 나오든 감수해야 해요.

이 연속열은 입력에서 _서로 인접한 위치_를 차지하기만 하면 되고, 숫자가 _수적으로 연속_일 필요는 없다는 점에 유의해요.

엣지 케이스 다루기

Exercism의 언어마다 부분 문자열의 길이가 0일 때 어떤 결과가 나와야 하는지에 대한 기대가 달라요. Rust 트랙에는 이 경우에 대한 테스트가 없으니, 가장 적절하다고 생각하는 대로 해도 돼요.

다음 각 경우의 장단점을 생각해 봐요:

  • panic!으로 프로그램을 강제 종료해요.
  • Result::Err를 반환해요. (여기서는 함수 시그니처가 정해져 있어서 불가능해요)
  • 빈 벡터를 반환해요.
  • "digits" 문자열의 길이 더하기 1만큼의 빈 문자열을 담은 벡터를 반환해요. (이건 수학적으로 멋진 성질이 있어요!)
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Rust Exercism

수열 문제를 시작해 볼 준비가 됐나요?

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