Menu
CoddyTech

Permutation in String

문자열의 순열은 원래 문자열과 같은 횟수만큼 각 문자를 사용해 순서를 바꾼 것입니다. tar, rat, art는 서로 순열 관계입니다. 소문자 영어 문자로 이루어진 두 문자열 s1과 s2가 주어집니다. s1의 어떤 순열이 부분 문자열(연속된 문자들의 나열)로 s2에 나타나면 true를 반환하고, 그렇지 않으면 false를 반환하세요.

함수

checkInclusion(s1: string, s2: string) → boolean
s1string
재배열할 글자
s2string
검색할 문자열
반환값boolean
s2의 부분 문자열이 s1을 재배열한 결과이면 true

제약 조건

  • 1 ≤ s1.length ≤ 2 × 104
  • 1 ≤ s2.length ≤ 5 × 104
  • s1과 s2에는 소문자 영문자(a부터 z까지)만 포함되어 있습니다.
  • s1은 s2보다 더 길 수 있습니다.

예제

입력
s1 = "tar"s2 = "smartphone"
출력
true
설명
smartphone의 인덱스 2부터 4까지의 부분 문자열 art에는 tar와 같은 문자, 즉 a 하나, r 하나, t 하나가 들어 있습니다.

lock icon제출 시 숨은 테스트 +17개

challenge icon

후속 질문

s1의 순열이 시작하는 모든 s2의 인덱스를 여전히 O(m + n) 시간에 반환할 수 있나요?

코드 초기화
def checkInclusion(s1, s2):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

케이스 3

입력

s1 = "tar"
s2 = "smartphone"

기대값

true