Menu
CoddyTech

Word Break

문자열 s와 단어 목록 wordDict가 주어집니다. s를 모두 wordDict에 있는 단어인 조각들로 나눌 수 있으면 true를 반환하고, 그렇지 않으면 false를 반환하세요.

조각들은 순서를 유지하며, 함께 s의 모든 문자를 정확히 한 번씩 사용합니다. 하나의 단어는 여러 번 사용할 수 있으며, 모든 단어를 사용할 필요는 없습니다.

함수

wordBreak(s: string, wordDict: string-array) → boolean
sstring
단어로 나눌 문자열
wordDictstring-array
사용할 수 있는 단어들(각 단어는 원하는 만큼 사용 가능)
반환값boolean
true는 s를 사전에 있는 단어들로 나눌 수 있는 경우이고, 그렇지 않으면 false입니다.

제약 조건

  • 1 ≤ s.length ≤ 300
  • 1 ≤ wordDict.length ≤ 1000
  • 1 ≤ wordDict[i].length ≤ 20
  • s 그리고 모든 단어는 소문자 영어 문자만 포함합니다.
  • wordDict에 있는 단어들은 모두 서로 다릅니다.

예제

입력
s = "sunflowerseed"wordDict = ["sun", "flow", "flower", "seed"]
출력
true
설명
이를 sun, flower, seed로 자릅니다. sun 뒤에 flow를 취하면 er가 남는데, 이 글자로 시작하는 단어는 없으므로 처음 맞는 단어가 항상 올바른 것은 아닙니다.
challenge icon

후속 질문

유효한 분할에 사용할 수 있는 최소 단어 수를 반환하고, s를 분할할 수 없으면 -1을 반환합니다. 표에서 무엇이 달라지며, 실행 시간도 달라지나요?

코드 초기화
def wordBreak(s, wordDict):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

테스트 #3

인자들

s = "sunflowerseed"
wordDict = ["sun", "flow", "flower", "seed"]

예상 출력

true